openrndr
Module Contents
alltypes
Module Contents
interface AlgebraicColor<T : AlgebraicColor<T>> : LinearType<T>
open class Animatable
Module Contents
Animatable(target: Any)
Animatable()
Animatable(createAtTime: Long)
fun add(variable: String, target: Double, duration: Long): Unit
fun add(variable: String, target: Double, durationMillis: Long, easing: Easing): Unit
fun add(variable: String, target: Double, durationMillis: Long, easer: Easer): Unit
@JvmName("animateProp") fun KMutableProperty0<Double>.animate(target: Double, duration: Long, easing: Easing): Unit
fun animate(variable: String, target: Double, durationMillis: Long): Unit
fun animate(variable: String, target: Double, durationMillis: Long, easing: Easing): Unit
fun animate(variable: String, target: Double, durationMillis: Long, easer: Easer): Unit
fun animate(variable: KMutableProperty0<*>, target: Double, durationMillis: Long, easing: Easing = Easing.None): Unit
fun animationCount(): Int
fun array(variable: String, index: Int): String
fun cancel(): Unit
fun cancel(fields: Array<String>): Unit
fun cancelQueued(): Unit
fun clock(clock: Clock): Unit
fun clock(): Clock
fun complete(variable: String): Unit
fun complete(callback: (Animatable) -> Unit): Unit
fun complete(animatable: Animatable): Unit
fun complete(animatable: Animatable = this, callback: ((Animatable) -> Unit)? = null): Unit
fun delay(durationMillis: Long, durationNanos: Long = 0): Unit
fun duration(): Long
fun ease(easing: Easing): Unit
fun ease(easer: Easer): Unit
fun end(): Unit
fun hasAnimations(): Boolean
fun hasAnimations(vararg variables: String): Boolean
fun popTime(): Unit
fun pushTime(): Unit
@JvmOverloads fun updateAnimation(time: Long = clock.timeNanos): Unit
fun velocity(variable: String): Double
fun waitUntil(timeMillis: Long, timeNanos: Long = 0): Unit
abstract class Application
class ApplicationBuilder
@DslMarker annotation class ApplicationDslMarker
interface ArrayCubemap
Module Contents
abstract fun bind(unit: Int): Unit
open val bounds: Rectangle
abstract fun copyTo(layer: Int, target: Cubemap, fromLevel: Int = 0, toLevel: Int = 0): Unit
abstract fun copyTo(layer: Int, target: ArrayCubemap, targetLayer: Int, fromLevel: Int = 0, toLevel: Int = 0): Unit
abstract fun destroy(): Unit
abstract var filterMag: MagnifyingFilter
abstract var filterMin: MinifyingFilter
abstract var flipV: Boolean
abstract val format: ColorFormat
abstract fun generateMipmaps(): Unit
abstract val layers: Int
abstract val levels: Int
abstract fun read(layer: Int, buffer: ByteBuffer, level: Int = 0): Unit
abstract val session: Session?
abstract val type: ColorType
abstract val width: Int
abstract fun write(side: CubemapSide, layer: Int, buffer: ByteBuffer, sourceFormat: ColorFormat = format, sourceType: ColorType = type, level: Int = 0): Unit
class ArrayCubemapAttachment : ColorAttachment
class ArrayCubemapImageBinding : ImageBinding
interface ArrayTexture
Module Contents
abstract fun bind(unit: Int): Unit
open val bounds: Rectangle
abstract fun copyTo(layer: Int, target: ColorBuffer, fromLevel: Int = 0, toLevel: Int = 0): Unit
abstract fun copyTo(layer: Int, target: ArrayTexture, targetLayer: Int, fromLevel: Int = 0, toLevel: Int = 0): Unit
abstract fun destroy(): Unit
abstract var filterMag: MagnifyingFilter
abstract var filterMin: MinifyingFilter
abstract var flipV: Boolean
abstract val format: ColorFormat
abstract fun generateMipmaps(): Unit
abstract val height: Int
abstract val layers: Int
abstract val levels: Int
abstract fun read(layer: Int, buffer: ByteBuffer, level: Int = 0): Unit
abstract val session: Session?
abstract val type: ColorType
abstract val width: Int
abstract var wrapU: WrapMode
abstract var wrapV: WrapMode
abstract fun write(layer: Int, buffer: ByteBuffer, sourceFormat: ColorFormat = format, sourceType: ColorType = type, level: Int = 0): Unit
class ArrayTextureAttachment : ColorAttachment
class ArrayTextureImageBinding : ImageBinding
class ArrayTextureLayerImageBinding : ImageBinding
interface AtomicCounterBuffer
class BackIn : Easer
open class BatchBuilder
enum class BlendMode
sealed class BufferMultisample
interface BufferTexture
enum class BufferTextureFileFormat
class BufferTextureImageBinding : ImageBinding
interface BufferTextureShadow
interface BufferWriter
Module Contents
abstract fun copyBuffer(sourceBuffer: ByteBuffer, sourceOffset: Int, sourceSizeInBytes: Int): Unit
abstract var position: Int
abstract var positionElements: Int
abstract fun rewind(): Unit
open fun write(vararg v: Vector3): Unit
abstract fun write(v: Byte): Unit
abstract fun write(v: Short): Unit
abstract fun write(v: Vector3): Unit
abstract fun write(v: Vector2): Unit
abstract fun write(v: Vector4): Unit
abstract fun write(v: Int): Unit
abstract fun write(v: IntVector2): Unit
abstract fun write(v: IntVector3): Unit
abstract fun write(v: IntVector4): Unit
abstract fun write(v: Matrix33): Unit
abstract fun write(v: Matrix44): Unit
abstract fun write(v: Float): Unit
abstract fun write(x: Float, y: Float): Unit
abstract fun write(x: Float, y: Float, z: Float): Unit
abstract fun write(x: Float, y: Float, z: Float, w: Float): Unit
abstract fun write(v: ColorRGBa): Unit
abstract fun write(a: FloatArray, offset: Int = 0, size: Int = a.size): Unit
class CachedProperty<out T> : ReadOnlyProperty<Any, T>
class CatmullRom2
class CatmullRom3
class CatmullRomChain1
class CatmullRomChain2
class CatmullRomChain3
class CatmulRom1
class CenteredBinarySplitter : Splitter
Module Contents
CenteredBinarySplitter(enclosement: IntRectangle, invert: Boolean = true, constraints: (node: PackNode, rectangle: IntRectangle) -> Boolean = { _, _ -> true }, xcon: (node: PackNode, rectangle: IntRectangle) -> Boolean = { _, _ -> true}, ycon: (node: PackNode, rectangle: IntRectangle) -> Boolean = { _, _ -> true})
val constraints: (node: PackNode, rectangle: IntRectangle) -> Boolean
val enclosement: IntRectangle
val invert: Boolean
fun split(node: PackNode, rectangle: IntRectangle): List<PackNode>
val xcon: (node: PackNode, rectangle: IntRectangle) -> Boolean
val ycon: (node: PackNode, rectangle: IntRectangle) -> Boolean
class CenterOrderer : Orderer
class ChannelMask
data class CharacterPair
data class Circle
class CircleBatch
class CircleBatchBuilder : BatchBuilder
enum class ClipMode
enum class ClipOp
interface Clipper
interface Clock
data class Color : CompositionColor
sealed class ColorAttachment
data class ColorATVa
interface ColorBuffer
Module Contents
abstract var anisotropy: Double
abstract fun bind(unit: Int): Unit
open val bounds: Rectangle
abstract val contentScale: Double
abstract fun copyTo(target: ColorBuffer, fromLevel: Int = 0, toLevel: Int = 0, sourceRectangle: IntRectangle = IntRectangle(
0,
0,
this.effectiveWidth / (1 shl fromLevel),
this.effectiveHeight / (1 shl fromLevel)
), targetRectangle: IntRectangle = IntRectangle(
0,
0,
sourceRectangle.width,
sourceRectangle.height
), filter: MagnifyingFilter = MagnifyingFilter.NEAREST): Unit
abstract fun copyTo(target: ArrayTexture, layer: Int, fromLevel: Int = 0, toLevel: Int = 0): Unit
open fun createEquivalent(width: Int = this.width, height: Int = this.height, contentScale: Double = this.contentScale, format: ColorFormat = this.format, type: ColorType = this.type, multisample: BufferMultisample = this.multisample, levels: Int = this.levels): ColorBuffer
open fun crop(sourceRectangle: IntRectangle): ColorBuffer
abstract fun destroy(): Unit
open val effectiveHeight: Int
open val effectiveWidth: Int
abstract fun fill(color: ColorRGBa): Unit
open fun filter(filterMin: MinifyingFilter, filterMag: MagnifyingFilter): Unit
abstract var filterMag: MagnifyingFilter
abstract var filterMin: MinifyingFilter
abstract var flipV: Boolean
abstract val format: ColorFormat
fun fromArray(bytes: ByteArray, offset: Int = 0, length: Int = bytes.size, session: Session? = Session.active): ColorBuffer
fun fromBuffer(bytes: ByteBuffer, session: Session? = Session.active): ColorBuffer
fun fromFile(file: File, session: Session? = Session.active): ColorBuffer
fun fromFile(filename: String, session: Session? = Session.active): ColorBuffer
fun fromStream(stream: InputStream, formatHint: String? = null, session: Session? = Session.active): ColorBuffer
fun fromUrl(url: String, session: Session? = Session.active): ColorBuffer
abstract fun generateMipmaps(): Unit
abstract val height: Int
open fun isEquivalentTo(other: ColorBuffer, ignoreWidth: Boolean = false, ignoreHeight: Boolean = false, ignoreContentScale: Boolean = false, ignoreFormat: Boolean = false, ignoreType: Boolean = false, ignoreMultisample: Boolean = false, ignoreLevels: Boolean = false): Boolean
abstract val levels: Int
abstract val multisample: BufferMultisample
abstract fun read(buffer: ByteBuffer, targetFormat: ColorFormat = format, targetType: ColorType = type, level: Int = 0): Unit
abstract fun saveToFile(file: File, imageFileFormat: ImageFileFormat = ImageFileFormat.guessFromExtension(file), async: Boolean = true): Unit
abstract val session: Session?
abstract val shadow: ColorBufferShadow
abstract fun toDataUrl(imageFileFormat: ImageFileFormat = ImageFileFormat.JPG): String
abstract val type: ColorType
abstract val width: Int
abstract var wrapU: WrapMode
abstract var wrapV: WrapMode
abstract fun write(buffer: ByteBuffer, sourceFormat: ColorFormat = format, sourceType: ColorType = type, level: Int = 0): Unit
class ColorBufferAttachment : ColorAttachment
class ColorBufferImageBinding : ImageBinding
data class ColorBufferProxy
interface ColorBufferShadow
Module Contents
abstract val buffer: ByteBuffer
abstract val colorBuffer: ColorBuffer
abstract fun destroy(): Unit
abstract fun download(): Unit
open operator fun get(x: Int, y: Int): ColorRGBa
abstract fun read(x: Int, y: Int): ColorRGBa
open operator fun set(x: Int, y: Int, c: ColorRGBa): Unit
abstract fun upload(): Unit
abstract fun write(x: Int, y: Int, r: Double, g: Double, b: Double, a: Double): Unit
open fun write(x: Int, y: Int, color: ColorRGBa): Unit
open fun write(x: Int, y: Int, r: Float, g: Float, b: Float, a: Float): Unit
abstract fun writer(): BufferWriter
enum class ColorFormat
data class ColorHSLa : ConvertibleToColorRGBa, ShadableColor<ColorHSLa>, HueShiftableColor<ColorHSLa>, SaturatableColor<ColorHSLa>, AlgebraicColor<ColorHSLa>
data class ColorHSVa : ConvertibleToColorRGBa, ShadableColor<ColorHSVa>, HueShiftableColor<ColorHSVa>, SaturatableColor<ColorHSVa>, AlgebraicColor<ColorHSVa>
data class ColorLABa : ConvertibleToColorRGBa, OpacifiableColor<ColorLABa>, ShadableColor<ColorLABa>, AlgebraicColor<ColorLABa>
data class ColorLCHABa : ConvertibleToColorRGBa, ShadableColor<ColorLCHABa>, OpacifiableColor<ColorLCHABa>, HueShiftableColor<ColorLCHABa>, AlgebraicColor<ColorLCHABa>
data class ColorLCHUVa : ConvertibleToColorRGBa, ShadableColor<ColorLCHUVa>, OpacifiableColor<ColorLCHUVa>, HueShiftableColor<ColorLCHUVa>, AlgebraicColor<ColorLCHUVa>
data class ColorLSHABa
data class ColorLSHUVa
data class ColorLUVa : ConvertibleToColorRGBa, OpacifiableColor<ColorLUVa>, ShadableColor<ColorLUVa>, AlgebraicColor<ColorLUVa>
data class ColorRGBa : ConvertibleToColorRGBa, OpacifiableColor<ColorRGBa>, ShadableColor<ColorRGBa>, AlgebraicColor<ColorRGBa>
enum class ColorSampling
enum class ColorType
data class ColorXSLa : ConvertibleToColorRGBa, ShadableColor<ColorXSLa>, HueShiftableColor<ColorXSLa>, SaturatableColor<ColorXSLa>, OpacifiableColor<ColorXSLa>, AlgebraicColor<ColorXSLa>
data class ColorXSVa : ConvertibleToColorRGBa, ShadableColor<ColorXSVa>, HueShiftableColor<ColorXSVa>, SaturatableColor<ColorXSVa>, OpacifiableColor<ColorXSVa>, AlgebraicColor<ColorXSVa>
data class ColorXYZa : ConvertibleToColorRGBa, OpacifiableColor<ColorXYZa>, AlgebraicColor<ColorXYZa>
data class ColorYxya
class Composition
sealed class CompositionColor
class CompositionDrawer
Module Contents
CompositionDrawer(documentBounds: Rectangle = DefaultCompositionBounds, composition: Composition? = null, cursor: GroupNode? = composition?.root as? GroupNode)
fun circle(x: Double, y: Double, radius: Double, closed: Boolean = true, insert: Boolean = true): ShapeNode?
fun circle(position: Vector2, radius: Double, closed: Boolean = true, insert: Boolean = true): ShapeNode?
fun circle(circle: Circle, closed: Boolean = true, insert: Boolean = true): ShapeNode?
fun circles(circles: List<Circle>, insert: Boolean = true): List<ShapeNode?>
fun circles(positions: List<Vector2>, radius: Double, insert: Boolean = true): List<ShapeNode?>
fun circles(positions: List<Vector2>, radii: List<Double>, insert: Boolean = true): List<ShapeNode?>
var clipMode: ClipMode
val composition: Composition
fun contour(contour: ShapeContour, insert: Boolean = true): ShapeNode?
fun contours(contours: List<ShapeContour>, insert: Boolean = true): List<ShapeNode?>
var cursor: GroupNode
fun difference(shape: Shape, searchFrom: CompositionNode = composition.root as GroupNode): Shape
fun distances(point: Vector2, searchFrom: CompositionNode = composition.root as GroupNode): List<ShapeNodeNearestContour>
fun CompositionNode.distances(point: Vector2): List<ShapeNodeNearestContour>
fun CompositionNode.duplicate(insert: Boolean = true): CompositionNode
fun ellipse(x: Double, y: Double, xRadius: Double, yRadius: Double, rotationInDegrees: Double = 0.0, closed: Boolean = true, insert: Boolean = true): ShapeNode?
fun ellipse(center: Vector2, xRadius: Double, yRadius: Double, rotationInDegrees: Double, closed: Boolean = true, insert: Boolean = true): ShapeNode?
var fill: ColorRGBa?
fun group(insert: Boolean = true, id: String? = null, builder: CompositionDrawer.() -> Unit): GroupNode
fun image(image: ColorBuffer, x: Double = 0.0, y: Double = 0.0, insert: Boolean = true): ImageNode
fun intersections(contour: ShapeContour, searchFrom: CompositionNode = composition.root as GroupNode, mergeThreshold: Double = 0.5): List<ShapeNodeIntersection>
fun CompositionNode.intersections(contour: ShapeContour, mergeThreshold: Double = 0.5): List<ShapeNodeIntersection>
fun intersections(shape: Shape, searchFrom: CompositionNode = composition.root as GroupNode, mergeThreshold: Double = 0.5): List<ShapeNodeIntersection>
fun CompositionNode.intersections(shape: Shape, mergeThreshold: Double = 0.5): List<ShapeNodeIntersection>
fun isolated(draw: CompositionDrawer.() -> Unit): Unit
fun lineLoop(points: List<Vector2>, insert: Boolean = true): ShapeNode?
fun lineSegment(startX: Double, startY: Double, endX: Double, endY: Double, insert: Boolean = true): ShapeNode?
fun lineSegment(start: Vector2, end: Vector2, insert: Boolean = true): ShapeNode?
fun lineSegment(lineSegment: LineSegment, insert: Boolean = true): ShapeNode?
fun lineSegments(lineSegments: List<LineSegment>, insert: Boolean = true): List<ShapeNode?>
fun lineStrip(points: List<Vector2>, insert: Boolean = true): ShapeNode?
var mask: Shape?
var model: Matrix44
fun nearest(point: Vector2, searchFrom: CompositionNode = composition.root as GroupNode): ShapeNodeNearestContour?
fun CompositionNode.nearest(point: Vector2): ShapeNodeNearestContour?
fun popModel(): Unit
fun popStyle(): Unit
fun pushModel(): Unit
fun pushStyle(): Unit
fun rectangle(rectangle: Rectangle, closed: Boolean = true, insert: Boolean = true): ShapeNode?
fun rectangle(x: Double, y: Double, width: Double, height: Double, closed: Boolean = true, insert: Boolean = true): ShapeNode?
fun rectangles(rectangles: List<Rectangle>, insert: Boolean = true): List<ShapeNode?>
fun rectangles(positions: List<Vector2>, width: Double, height: Double, insert: Boolean = true): List<ShapeNode?>
fun rectangles(positions: List<Vector2>, dimensions: List<Vector2>, insert: Boolean): List<ShapeNode?>
val root: GroupNode
fun rotate(rotationInDegrees: Double): Unit
fun CompositionNode.rotate(angleInDegrees: Double, pivot: Vector2 = Vector2.ZERO): Unit
fun scale(s: Double): Unit
fun scale(x: Double, y: Double): Unit
fun CompositionNode.scale(scale: Double, pivot: Vector2 = Vector2.ZERO): Unit
fun shape(shape: Shape, insert: Boolean = true): ShapeNode?
fun shapes(shapes: List<Shape>, insert: Boolean = true): List<ShapeNode?>
var stroke: ColorRGBa?
var strokeWeight: Double
fun text(text: String, position: Vector2, insert: Boolean = true): TextNode
fun textOnContour(text: String, contour: ShapeContour, insert: Boolean = true): TextNode
fun texts(text: List<String>, positions: List<Vector2>): List<TextNode>
fun CompositionNode.transform(builder: TransformBuilder.() -> Unit): Unit
var transformMode: TransformMode
fun translate(x: Double, y: Double): Unit
fun translate(t: Vector2): Unit
fun CompositionNode.translate(x: Double, y: Double, z: Double = 0.0): Unit
fun GroupNode.with(builder: CompositionDrawer.() -> Unit): GroupNode
sealed class CompositionNode
sealed class CompositionShadeStyle
sealed class CompositionStrokeWeight
class CompoundBuilder
interface ComputeShader : ShaderImageBindings
Module Contents
abstract fun buffer(name: String, vertexBuffer: VertexBuffer): Unit
abstract fun counters(bindingIndex: Int, counterBuffer: AtomicCounterBuffer): Unit
abstract fun destroy(): Unit
abstract fun execute(width: Int = 1, height: Int = 1, depth: Int = 1): Unit
fun fromCode(code: String): ComputeShader
fun fromFile(file: File): ComputeShader
abstract fun uniform(name: String, value: Matrix33): Unit
abstract fun uniform(name: String, value: Matrix44): Unit
abstract fun uniform(name: String, value: ColorRGBa): Unit
abstract fun uniform(name: String, value: Vector4): Unit
abstract fun uniform(name: String, value: Vector3): Unit
abstract fun uniform(name: String, value: Vector2): Unit
abstract fun uniform(name: String, x: Float, y: Float, z: Float, w: Float): Unit
abstract fun uniform(name: String, x: Float, y: Float, z: Float): Unit
abstract fun uniform(name: String, x: Float, y: Float): Unit
abstract fun uniform(name: String, value: Double): Unit
abstract fun uniform(name: String, value: Float): Unit
abstract fun uniform(name: String, value: Int): Unit
abstract fun uniform(name: String, value: Boolean): Unit
abstract fun uniform(name: String, value: Array<Vector4>): Unit
abstract fun uniform(name: String, value: Array<Vector3>): Unit
abstract fun uniform(name: String, value: Array<Vector2>): Unit
abstract fun uniform(name: String, value: FloatArray): Unit
class Configuration
class ContourBuilder
Module Contents
ContourBuilder(multipleContours: Boolean)
var anchor: Vector2
fun arcTo(crx: Double, cry: Double, angle: Double, largeArcFlag: Boolean, sweepFlag: Boolean, tx: Double, ty: Double): Unit
fun arcTo(crx: Double, cry: Double, angle: Double, largeArcFlag: Boolean, sweepFlag: Boolean, end: Vector2): Unit
fun circularArcTo(through: Vector2, end: Vector2): Unit
fun close(): Unit
fun continueTo(end: Vector2, tangentScale: Double = 1.0): Unit
fun continueTo(x: Double, y: Double, tangentScale: Double = 1.0): Unit
fun continueTo(control: Vector2, end: Vector2, tangentScale: Double = 1.0): Unit
fun continueTo(cx: Double, cy: Double, x: Double, y: Double, tangentScale: Double = 1.0): Unit
var cursor: Vector2
fun curveTo(control: Vector2, position: Vector2): Unit
fun curveTo(cx: Double, cy: Double, x: Double, y: Double): Unit
fun curveTo(control0: Vector2, control1: Vector2, position: Vector2): Unit
fun curveTo(c0x: Double, c0y: Double, c1x: Double, c1y: Double, x: Double, y: Double): Unit
val lastSegment: Segment?
fun lineTo(position: Vector2): Unit
fun lineTo(x: Double, y: Double): Unit
fun moveOrCurveTo(control: Vector2, position: Vector2): Unit
fun moveOrCurveTo(cx: Double, cy: Double, x: Double, y: Double): Unit
fun moveOrCurveTo(control0: Vector2, control1: Vector2, position: Vector2): Unit
fun moveOrCurveTo(c0x: Double, c0y: Double, c1x: Double, c1y: Double, x: Double, y: Double): Unit
fun moveOrLineTo(position: Vector2): Unit
fun moveOrLineTo(x: Double, y: Double): Unit
fun moveTo(position: Vector2): Unit
fun moveTo(x: Double, y: Double): Unit
val result: List<ShapeContour>
fun reverse(): Unit
fun segment(segment: Segment): Unit
val segments: MutableList<Segment>
fun undo(): Segment?
data class ContourIntersection
data class ContourPoint
interface ConvertibleToColorRGBa
data class CShadeStyle : CompositionShadeStyle
interface Cubemap
Module Contents
abstract fun bind(textureUnit: Int = 0): Unit
abstract fun copyTo(target: ArrayCubemap, layer: Int, fromLevel: Int = 0, toLevel: Int = 0): Unit
abstract fun copyTo(target: Cubemap, fromLevel: Int = 0, toLevel: Int = 0): Unit
abstract fun copyTo(target: ColorBuffer, fromSide: CubemapSide, fromLevel: Int = 0, toLevel: Int = 0): Unit
fun create(width: Int, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8, levels: Int = -1, session: Session? = Session.active): Cubemap
abstract fun destroy(): Unit
abstract fun filter(min: MinifyingFilter, mag: MagnifyingFilter): Unit
abstract val format: ColorFormat
fun fromFile(file: File, session: Session? = Session.active): Cubemap
fun fromFiles(filenames: List<File>, session: Session? = Session.active): Cubemap
fun fromUrl(url: String, session: Session? = Session.active): Cubemap
fun fromUrls(urls: List<String>, session: Session? = Session.active): Cubemap
abstract fun generateMipmaps(): Unit
abstract val levels: Int
abstract fun read(side: CubemapSide, target: ByteBuffer, targetFormat: ColorFormat = format, targetType: ColorType = type, level: Int = 0): Unit
abstract val session: Session?
abstract val type: ColorType
abstract val width: Int
abstract fun write(side: CubemapSide, source: ByteBuffer, sourceFormat: ColorFormat = format, sourceType: ColorType = type, level: Int = 0): Unit
class CubemapAttachment : ColorAttachment
class CubemapImageBinding : ImageBinding
class CubemapLayerImageBinding : ImageBinding
enum class CubemapSide
class CubicIn : Easer
class CubicInOut : Easer
class CubicOut : Easer
enum class CullTestPass
class Cursor
class DefaultClipper : Clipper
class DefaultClock : Clock
class DefaultOrderer : Orderer
class DefaultSplitter : Splitter
class Delinearize : Filter
interface DepthBuffer
enum class DepthFormat
enum class DepthTestPass
class Dispatcher : MainCoroutineDispatcher, Delay
data class DrawContext
class Drawer
Module Contents
Drawer(driver: Driver)
val bounds: Rectangle
fun circle(x: Double, y: Double, radius: Double): Unit
fun circle(position: Vector2, radius: Double): Unit
fun circle(circle: Circle): Unit
fun circles(positions: List<Vector2>, radius: Double): Unit
fun circles(positions: List<Vector2>, radii: List<Double>): Unit
fun circles(circles: List<Circle>): Unit
fun circles(batch: CircleBatch, count: Int = batch.size): Unit
fun circles(build: CircleBatchBuilder.() -> Unit): Unit
fun clear(r: Double, g: Double, b: Double, a: Double): Unit
fun clear(color: ColorRGBa): Unit
fun composition(composition: Composition): Unit
val context: DrawContext
fun contour(contour: ShapeContour): Unit
fun contours(contours: List<ShapeContour>): Unit
var cullTestPass: CullTestPass
fun defaults(): Unit
var depthTestPass: DepthTestPass
var depthWrite: Boolean
var drawStyle: DrawStyle
val driver: Driver
var fill: ColorRGBa?
var fontMap: FontMap?
var height: Int
fun image(colorBuffer: ColorBuffer, source: Rectangle, target: Rectangle): Unit
fun image(colorBuffer: ColorBuffer, x: Double, y: Double, width: Double = colorBuffer.width.toDouble(), height: Double = colorBuffer.height.toDouble()): Unit
fun image(colorBuffer: ColorBuffer, position: Vector2, width: Double = colorBuffer.width.toDouble(), height: Double = colorBuffer.height.toDouble()): Unit
fun image(colorBuffer: ColorBuffer): Unit
fun image(colorBuffer: ColorBuffer, rectangles: List<Pair<Rectangle, Rectangle>>): Unit
fun image(arrayTexture: ArrayTexture, layer: Int = 0, x: Double = 0.0, y: Double = 0.0, width: Double = arrayTexture.width.toDouble(), height: Double = arrayTexture.height.toDouble()): Unit
fun image(arrayTexture: ArrayTexture, layer: Int = 0, source: Rectangle, target: Rectangle): Unit
fun image(arrayTexture: ArrayTexture, layers: List<Int>, rectangles: List<Pair<Rectangle, Rectangle>>): Unit
var lineCap: LineCap
var lineJoin: LineJoin
fun lineLoop(points: List<Vector2>): Unit
@JvmName("lineLoop3d") fun lineLoop(points: List<Vector3>): Unit
fun lineLoops(loops: List<List<Vector2>>): Unit
@JvmName("lineLoops3d") fun lineLoops(loops: List<List<Vector3>>): Unit
fun lineLoops(loops: List<List<Vector2>>, weights: List<Double>): Unit
@JvmName("lineLoops3d)") fun lineLoops(loops: List<List<Vector3>>, weights: List<Double>): Unit
fun lineSegment(x0: Double, y0: Double, x1: Double, y1: Double): Unit
fun lineSegment(lineSegment: LineSegment): Unit
fun lineSegment(start: Vector2, end: Vector2): Unit
fun lineSegment(start: Vector3, end: Vector3): Unit
fun lineSegments(segments: List<Vector2>): Unit
fun lineSegments(segments: List<Vector2>, weights: List<Double>): Unit
@JvmName("lineSegments3d") fun lineSegments(segments: List<Vector3>): Unit
@JvmName("lineSegments3d") fun lineSegments(segments: List<Vector3>, weights: List<Double>): Unit
@JvmName("lineSegments3d") fun lineSegments(segments: List<Vector3>, weights: List<Double>, colors: List<ColorRGBa>): Unit
@JvmName("lineSegmentsFromLineSegmentList") fun lineSegments(segments: List<LineSegment>): Unit
fun lineStrip(points: List<Vector2>): Unit
@JvmName("lineStrip3d") fun lineStrip(points: List<Vector3>): Unit
fun lineStrips(strips: List<List<Vector2>>): Unit
@JvmName("lineStrips3d") fun lineStrips(strips: List<List<Vector3>>): Unit
fun lineStrips(strips: List<List<Vector2>>, weights: List<Double>): Unit
@JvmName("lineStrips3d") fun lineStrips(strips: List<List<Vector3>>, weights: List<Double>): Unit
@JvmName("lineStrips3d") fun lineStrips(strips: List<List<Vector3>>, weights: List<Double>, colors: List<ColorRGBa>): Unit
fun lookAt(from: Vector3, to: Vector3, up: Vector3 = Vector3.UNIT_Y, target: TransformTarget = TransformTarget.VIEW): Unit
var model: Matrix44
fun ortho(renderTarget: RenderTarget): Unit
fun ortho(): Unit
fun ortho(left: Double, right: Double, bottom: Double, top: Double, near: Double, far: Double): Unit
fun path(path: Path3D): Unit
fun perspective(fovY: Double, aspectRatio: Double, zNear: Double, zFar: Double): Unit
fun point(x: Double, y: Double, z: Double = 0.0): Unit
fun point(vector: Vector2): Unit
fun point(vector: Vector3): Unit
@JvmName("points2D") fun points(points: List<Vector2>): Unit
@JvmName("points3D") fun points(points: List<Vector3>): Unit
fun points(build: PointBatchBuilder.() -> Unit): Unit
fun points(batch: PointBatch, count: Int = batch.size): Unit
fun popModel(): Unit
fun popProjection(): Unit
fun popStyle(): Unit
fun popTransforms(): Unit
fun popView(): Unit
var projection: Matrix44
fun pushModel(): Matrix44
fun pushProjection(): Matrix44
fun pushStyle(): DrawStyle
fun pushTransforms(): Unit
fun pushView(): Matrix44
fun rectangle(rectangle: Rectangle): Unit
fun rectangle(x: Double, y: Double, width: Double, height: Double): Unit
fun rectangle(corner: Vector2, width: Double, height: Double): Unit
fun rectangles(positions: List<Vector2>, width: Double, height: Double): Unit
fun rectangles(positions: List<Vector2>, dimensions: List<Vector2>): Unit
fun rectangles(rectangles: List<Rectangle>): Unit
fun rectangles(batch: RectangleBatch, count: Int = batch.size): Unit
fun rectangles(build: RectangleBatchBuilder.() -> Unit): Unit
fun rotate(rotationInDegrees: Double, target: TransformTarget = TransformTarget.MODEL): Unit
fun rotate(axis: Vector3, rotationInDegrees: Double, target: TransformTarget = TransformTarget.MODEL): Unit
fun scale(s: Double, target: TransformTarget = TransformTarget.MODEL): Unit
fun scale(x: Double, y: Double, target: TransformTarget = TransformTarget.MODEL): Unit
fun scale(x: Double, y: Double, z: Double, target: TransformTarget = TransformTarget.MODEL): Unit
fun segment(segment: Segment): Unit
fun segment(segment: Segment3D): Unit
@JvmName("segments2d") fun segments(segments: List<Segment>): Unit
fun segments(segments: List<Segment3D>): Unit
fun segments(segments: List<Segment3D>, weights: List<Double>, colors: List<ColorRGBa>): Unit
var shadeStyle: ShadeStyle?
fun shape(shape: Shape): Unit
fun shapes(shapes: List<Shape>): Unit
fun size(width: Int, height: Int): Unit
var stroke: ColorRGBa?
var strokeWeight: Double
fun text(text: String, position: Vector2): Unit
fun text(text: String, x: Double = 0.0, y: Double = 0.0): Unit
fun texts(texts: List<String>, positions: List<Vector2>): Unit
fun transform(transform: TransformTarget): KMutableProperty0<Matrix44>
fun translate(t: Vector2, target: TransformTarget = TransformTarget.MODEL): Unit
fun translate(t: Vector3, target: TransformTarget = TransformTarget.MODEL): Unit
fun translate(x: Double, y: Double, target: TransformTarget = TransformTarget.MODEL): Unit
fun translate(x: Double, y: Double, z: Double, target: TransformTarget = TransformTarget.MODEL): Unit
fun vertexBuffer(vertexBuffer: VertexBuffer, primitive: DrawPrimitive, vertexOffset: Int = 0, vertexCount: Int = vertexBuffer.vertexCount): Unit
fun vertexBuffer(vertexBuffers: List<VertexBuffer>, primitive: DrawPrimitive, offset: Int = 0, vertexCount: Int = vertexBuffers[0].vertexCount): Unit
fun vertexBuffer(indexBuffer: IndexBuffer, vertexBuffers: List<VertexBuffer>, primitive: DrawPrimitive, offset: Int = 0, indexCount: Int = indexBuffer.indexCount): Unit
fun vertexBufferInstances(vertexBuffers: List<VertexBuffer>, instanceAttributes: List<VertexBuffer>, primitive: DrawPrimitive, instanceCount: Int, offset: Int = 0, vertexCount: Int = vertexBuffers[0].vertexCount): Unit
fun vertexBufferInstances(indexBuffer: IndexBuffer, vertexBuffers: List<VertexBuffer>, instanceAttributes: List<VertexBuffer>, primitive: DrawPrimitive, instanceCount: Int, offset: Int = 0, indexCount: Int = indexBuffer.indexCount): Unit
var view: Matrix44
var width: Int
fun withTarget(target: RenderTarget, action: Drawer.() -> Unit): Unit
enum class DrawPrimitive
enum class DrawQuality
data class DrawStyle
Module Contents
DrawStyle(clip: Rectangle? = null, fill: ColorRGBa? = ColorRGBa.WHITE, stroke: ColorRGBa? = ColorRGBa.BLACK, lineCap: LineCap = LineCap.BUTT, lineJoin: LineJoin = LineJoin.MITER, strokeWeight: Double = 1.0, smooth: Boolean = true, quality: DrawQuality = DrawQuality.QUALITY, depthTestPass: DepthTestPass = DepthTestPass.ALWAYS, depthWrite: Boolean = false, blendMode: BlendMode = BlendMode.OVER, cullTestPass: CullTestPass = CullTestPass.ALWAYS, channelWriteMask: ChannelMask = ChannelMask(red = true, green = true, blue = true, alpha = true), alphaToCoverage: Boolean = false, shadeStyle: ShadeStyle? = null, fontMap: FontMap? = null, kerning: KernMode = KernMode.METRIC, stencil: StencilStyle = StencilStyle(), frontStencil: StencilStyle = stencil, backStencil: StencilStyle = stencil, colorMatrix: Matrix55 = Matrix55.IDENTITY)
var alphaToCoverage: Boolean
fun applyToShader(shader: Shader): Unit
var backStencil: StencilStyle
var blendMode: BlendMode
var channelWriteMask: ChannelMask
var clip: Rectangle?
var colorMatrix: Matrix55
var cullTestPass: CullTestPass
var depthTestPass: DepthTestPass
var depthWrite: Boolean
var fill: ColorRGBa?
var fontMap: FontMap?
var frontStencil: StencilStyle
var kerning: KernMode
var lineCap: LineCap
var lineJoin: LineJoin
var quality: DrawQuality
var shadeStyle: ShadeStyle?
var smooth: Boolean
var stencil: StencilStyle
var stroke: ColorRGBa?
var strokeWeight: Double
interface DrawThread
class DropEvent
interface Easer
enum class Easing
data class Ellipse
class Event<T>
class ExpoIn : Easer
interface Extension
enum class ExtensionStage
enum class FillRule
open class Filter
class FontImageMap : FontMap
Module Contents
FontImageMap(texture: ColorBuffer, map: Map<Char, IntRectangle>, glyphMetrics: Map<Char, GlyphMetrics>, size: Double, contentScale: Double, ascenderLength: Double, descenderLength: Double, height: Double, leading: Double, name: String)
val ascenderLength: Double
fun characterWidth(character: Char): Double
val contentScale: Double
val descenderLength: Double
fun fromFile(file: String, size: Double, characterSet: Set<Char> = defaultFontmapCharacterSet, contentScale: Double = 1.0): FontImageMap
fun fromUrl(fontUrl: String, size: Double, characterSet: Set<Char> = defaultFontmapCharacterSet, contentScale: Double = 1.0): FontImageMap
val glyphMetrics: Map<Char, GlyphMetrics>
val height: Double
fun kerning(left: Char, right: Char): Double
val kerningTable: MutableMap<CharacterPair, Double>
val leading: Double
val map: Map<Char, IntRectangle>
val name: String
val size: Double
val texture: ColorBuffer
data class FontImageMapDescriptor
abstract class FontMap
abstract class FontVectorMap : FontMap
enum class Fullscreen
class GenericPlatformDriver : PlatformDriver
class GlyphMetrics
class GreedySplitter : Splitter
open class GroupNode : CompositionNode
class GroupNodeStop : GroupNode
data class Hue
interface HueShiftableColor<T>
class HybridLogGamma : Filter
enum class ImageAccess
sealed class ImageBinding
enum class ImageFileFormat
class ImageNode : CompositionNode
interface IndexBuffer
class IndexedTriangulation<T>
enum class IndexType
object InheritColor : CompositionColor
object InheritShadeStyle : CompositionShadeStyle
object InheritStrokeWeight : CompositionStrokeWeight
class IntPacker
data class IntRectangle
data class IntVector2 : Serializable
data class IntVector3 : Serializable
data class IntVector4 : Serializable
enum class KernMode
class Keyboard
class KeyEvent
enum class KeyEventType
enum class KeyModifier
kotlin.collections.Iterable
kotlin.collections.List
kotlin.Double
kotlin.Float
kotlin.Int
kotlin.Long
kotlin.reflect.KMutableProperty0
kotlin.reflect.KMutableProperty0
class LayeredArrayCubemapAttachment : ColorAttachment
class LayeredArrayTextureAttachment : ColorAttachment
class LayeredCubemapAttachment : ColorAttachment
class LayeredVolumeTextureAttachment : ColorAttachment
class Linear : Easer
enum class Linearity
class Linearize : Filter
class LinearRange<T : LinearType<T>>
interface LinearType<T : LinearType<T>>
enum class LineCap
enum class LineJoin
data class LineSegment
data class LineSegment3D
class MacOSPlatformDriver : PlatformDriver
enum class MagnifyingFilter
data class Matrix33 : LinearType<Matrix33>
Module Contents
Matrix33(c0r0: Double = 0.0, c1r0: Double = 0.0, c2r0: Double = 0.0, c0r1: Double = 0.0, c1r1: Double = 0.0, c2r1: Double = 0.0, c0r2: Double = 0.0, c1r2: Double = 0.0, c2r2: Double = 0.0)
val c0r0: Double
val c0r1: Double
val c0r2: Double
val c1r0: Double
val c1r1: Double
val c1r2: Double
val c2r0: Double
val c2r1: Double
val c2r2: Double
val determinant: Double
operator fun div(s: Double): Matrix33
fun fromColumnVectors(c0: Vector3, c1: Vector3, c2: Vector3): Matrix33
operator fun get(index: Int): Vector3
val IDENTITY: Matrix33
val inversed: Matrix33
val matrix44: Matrix44
operator fun minus(o: Matrix33): Matrix33
operator fun plus(o: Matrix33): Matrix33
operator fun times(v: Vector3): Vector3
operator fun times(s: Double): Matrix33
operator fun times(mat: Matrix33): Matrix33
fun toString(): String
val trace: Double
val transposed: Matrix33
val ZERO: Matrix33
data class Matrix44 : Serializable, LinearType<Matrix44>
Module Contents
Matrix44(c0r0: Double = 0.0, c1r0: Double = 0.0, c2r0: Double = 0.0, c3r0: Double = 0.0, c0r1: Double = 0.0, c1r1: Double = 0.0, c2r1: Double = 0.0, c3r1: Double = 0.0, c0r2: Double = 0.0, c1r2: Double = 0.0, c2r2: Double = 0.0, c3r2: Double = 0.0, c0r3: Double = 0.0, c1r3: Double = 0.0, c2r3: Double = 0.0, c3r3: Double = 0.0)
val c0r0: Double
val c0r1: Double
val c0r2: Double
val c0r3: Double
val c1r0: Double
val c1r1: Double
val c1r2: Double
val c1r3: Double
val c2r0: Double
val c2r1: Double
val c2r2: Double
val c2r3: Double
val c3r0: Double
val c3r1: Double
val c3r2: Double
val c3r3: Double
val determinant: Double
operator fun div(s: Double): Matrix44
fun fromColumnVectors(c0: Vector4, c1: Vector4, c2: Vector4, c3: Vector4): Matrix44
fun fromDoubleArray(a: DoubleArray): Matrix44
operator fun get(index: Int): Vector4
val IDENTITY: Matrix44
val inversed: Matrix44
val matrix33: Matrix33
operator fun minus(o: Matrix44): Matrix44
operator fun plus(o: Matrix44): Matrix44
operator fun times(v: Vector4): Vector4
operator fun times(s: Double): Matrix44
operator fun times(mat: Matrix44): Matrix44
fun toDoubleArray(): DoubleArray
fun toString(): String
val trace: Double
val transposed: Matrix44
val ZERO: Matrix44
data class Matrix55
Module Contents
Matrix55(c0r0: Double = 0.0, c1r0: Double = 0.0, c2r0: Double = 0.0, c3r0: Double = 0.0, c4r0: Double = 0.0, c0r1: Double = 0.0, c1r1: Double = 0.0, c2r1: Double = 0.0, c3r1: Double = 0.0, c4r1: Double = 0.0, c0r2: Double = 0.0, c1r2: Double = 0.0, c2r2: Double = 0.0, c3r2: Double = 0.0, c4r2: Double = 0.0, c0r3: Double = 0.0, c1r3: Double = 0.0, c2r3: Double = 0.0, c3r3: Double = 0.0, c4r3: Double = 0.0, c0r4: Double = 0.0, c1r4: Double = 0.0, c2r4: Double = 0.0, c3r4: Double = 0.0, c4r4: Double = 0.0)
val c0r0: Double
val c0r1: Double
val c0r2: Double
val c0r3: Double
val c0r4: Double
val c1r0: Double
val c1r1: Double
val c1r2: Double
val c1r3: Double
val c1r4: Double
val c2r0: Double
val c2r1: Double
val c2r2: Double
val c2r3: Double
val c2r4: Double
val c3r0: Double
val c3r1: Double
val c3r2: Double
val c3r3: Double
val c3r4: Double
val c4r0: Double
val c4r1: Double
val c4r2: Double
val c4r3: Double
val c4r4: Double
val floatArray: FloatArray
val IDENTITY: Matrix55
operator fun plus(mat: Matrix55): Matrix55
operator fun times(mat: Matrix55): Matrix55
operator fun times(s: Double): Matrix55
val ZERO: Matrix55
enum class MinifyingFilter
class Mouse
enum class MouseButton
class MouseEvent
enum class MouseEventType
class ObservableHashmap<K, V> : HashMap<K, V>
interface OpacifiableColor<T>
class OptimizingOrderer : Orderer
interface Orderer
data class OrientedEllipse
data class OrientedRectangle
Module Contents
OrientedRectangle(x: Double, y: Double, width: Double, height: Double, rotation: Double)
OrientedRectangle(corner: Vector2, width: Double, height: Double, rotation: Double)
val area: Double
val center: Vector2
val contour: ShapeContour
val corner: Vector2
val dimensions: Vector2
fun fromCenter(center: Vector2, width: Double, height: Double): Rectangle
val height: Double
fun heightScaledTo(fitHeight: Double): Rectangle
fun moved(offset: Vector2): Rectangle
fun position(u: Double, v: Double): Vector2
val rotation: Double
fun scaled(scale: Double, scaleY: Double = scale): Rectangle
val shape: Shape
val width: Double
fun widthScaledTo(fitWidth: Double): Rectangle
val x: Double
val y: Double
class PackNode
class Path3D
class Path3DBuilder
Module Contents
Path3DBuilder()
var anchor: Vector3
fun close(): Unit
fun continueTo(end: Vector3, tangentScale: Double = 1.0): Unit
fun continueTo(x: Double, y: Double, z: Double, tangentScale: Double = 1.0): Unit
fun continueTo(control: Vector3, end: Vector3, tangentScale: Double = 1.0): Unit
fun continueTo(cx: Double, cy: Double, cz: Double, x: Double, y: Double, z: Double, tangentScale: Double = 1.0): Unit
var cursor: Vector3
fun curveTo(control: Vector3, position: Vector3): Unit
fun curveTo(cx: Double, cy: Double, cz: Double, x: Double, y: Double, z: Double): Unit
fun curveTo(control0: Vector3, control1: Vector3, position: Vector3): Unit
fun curveTo(c0x: Double, c0y: Double, c0z: Double, c1x: Double, c1y: Double, c1z: Double, x: Double, y: Double, z: Double): Unit
fun lineTo(position: Vector3): Unit
fun lineTo(x: Double, y: Double, z: Double): Unit
fun moveOrCurveTo(control: Vector3, position: Vector3): Unit
fun moveOrCurveTo(cx: Double, cy: Double, cz: Double, x: Double, y: Double, z: Double): Unit
fun moveOrCurveTo(control0: Vector3, control1: Vector3, position: Vector3): Unit
fun moveOrCurveTo(c0x: Double, c0y: Double, c0z: Double, c1x: Double, c1y: Double, c1z: Double, x: Double, y: Double, z: Double): Unit
fun moveOrLineTo(position: Vector3): Unit
fun moveOrLineTo(x: Double, y: Double, z: Double): Unit
fun moveTo(position: Vector3): Unit
fun moveTo(x: Double, y: Double, z: Double): Unit
fun reverse(): Unit
val segments: MutableList<Segment3D>
class PathProjection3D
object Platform
enum class PlatformType
class PointBatch
class PointBatchBuilder : BatchBuilder
data class Polar : LinearType<Polar>
enum class PresentationMode
open class Program
class ProgramEvent
enum class ProgramEventType
interface ProgramRenderTarget : RenderTarget
class QuadIn : Easer
class QuadInOut : Easer
class QuadOut : Easer
class QuartIn : Easer
class QuartInOut : Easer
class QuartOut : Easer
data class Quaternion : Serializable
Module Contents
Quaternion(x: Double, y: Double, z: Double, w: Double)
fun fromAngles(pitch: Double, roll: Double, yaw: Double): Quaternion
fun fromAnglesRadian(pitch: Double, roll: Double, yaw: Double): Quaternion
fun fromAxes(x: Vector3, y: Vector3, z: Vector3): Quaternion
fun fromLookAt(from: Vector3, to: Vector3, up: Vector3 = Vector3.UNIT_Y): Quaternion
fun fromMatrix(m: Matrix33): Quaternion
val IDENTITY: Quaternion
val inversed: Quaternion
val length: Double
val matrix: Matrix33
val negated: Quaternion
val norm: Double
val normalized: Quaternion
operator fun times(q: Quaternion): Quaternion
operator fun times(vec: Vector3): Vector3
val w: Double
val x: Double
val y: Double
val z: Double
val ZERO: Quaternion
class RandomBinarySplitter : Splitter
class RandomOrderer : Orderer
data class Rectangle
Module Contents
Rectangle(x: Double, y: Double, width: Double, height: Double = width)
Rectangle(corner: Vector2, width: Double, height: Double = width)
val area: Double
val center: Vector2
operator fun contains(point: Vector2): Boolean
val contour: ShapeContour
val corner: Vector2
val dimensions: Vector2
operator fun div(scale: Double): Rectangle
fun fromCenter(center: Vector2, width: Double, height: Double = width): Rectangle
val height: Double
fun heightScaledTo(fitHeight: Double): Rectangle
operator fun minus(right: Rectangle): Rectangle
fun moved(offset: Vector2): Rectangle
fun offsetEdges(offset: Double, offsetY: Double = offset): Rectangle
operator fun plus(right: Rectangle): Rectangle
fun position(u: Double, v: Double): Vector2
fun scaled(scale: Double, scaleY: Double = scale): Rectangle
val shape: Shape
fun sub(u0: Double, v0: Double, u1: Double, v1: Double): Rectangle
operator fun times(scale: Double): Rectangle
val width: Double
fun widthScaledTo(fitWidth: Double): Rectangle
val x: Double
val y: Double
class RectangleBatch
class RectangleBatchBuilder : BatchBuilder
interface RenderTarget
Module Contents
val active: RenderTarget
abstract fun attach(colorBuffer: ColorBuffer, level: Int = 0, name: String? = null): Unit
abstract fun attach(depthBuffer: DepthBuffer): Unit
abstract fun attach(arrayTexture: ArrayTexture, layer: Int, level: Int = 0, name: String? = null): Unit
abstract fun attach(arrayCubemap: ArrayCubemap, side: CubemapSide, layer: Int, level: Int = 0, name: String? = null): Unit
abstract fun attach(cubemap: Cubemap, side: CubemapSide, level: Int = 0, name: String? = null): Unit
abstract fun attach(volumeTexture: VolumeTexture, layer: Int, level: Int = 0, name: String? = null): Unit
abstract fun attachLayered(arrayTexture: ArrayTexture, level: Int = 0, name: String? = null): Unit
abstract fun attachLayered(arrayCubemap: ArrayCubemap, level: Int = 0, name: String? = null): Unit
abstract fun attachLayered(cubemap: Cubemap, level: Int = 0, name: String? = null): Unit
abstract fun attachLayered(volumeTexture: VolumeTexture, level: Int = 0, name: String? = null): Unit
abstract fun bind(): Unit
abstract fun blendMode(index: Int, blendMode: BlendMode): Unit
abstract fun clearColor(index: Int, color: ColorRGBa): Unit
abstract fun clearDepth(depth: Double = 1.0, stencil: Int = 0): Unit
open fun colorAttachmentByName(name: String): ColorAttachment?
open fun colorAttachmentIndexByName(name: String): Int?
abstract val colorAttachments: List<ColorAttachment>
abstract fun colorBuffer(index: Int): ColorBuffer
abstract val contentScale: Double
abstract val depthBuffer: DepthBuffer?
abstract fun destroy(): Unit
abstract fun detachColorAttachments(): Unit
abstract fun detachDepthBuffer(): Unit
open val effectiveHeight: Int
open val effectiveWidth: Int
abstract val hasColorAttachments: Boolean
abstract val hasDepthBuffer: Boolean
abstract val height: Int
abstract val multisample: BufferMultisample
open fun resolveTo(to: RenderTarget): Unit
abstract val session: Session?
abstract fun unbind(): Unit
abstract val width: Int
class RenderTargetBuilder
Module Contents
RenderTargetBuilder(renderTarget: RenderTarget)
fun arrayCubemap(name: String, arrayCubemap: ArrayCubemap, side: CubemapSide, layer: Int, level: Int = 0): Unit
fun arrayCubemap(arrayCubemap: ArrayCubemap, side: CubemapSide, layer: Int, level: Int = 0): Unit
fun arrayTexture(arrayTexture: ArrayTexture, layer: Int, level: Int = 0): Unit
fun colorBuffer(colorBuffer: ColorBuffer, level: Int = 0): Unit
fun colorBuffer(name: String, colorBuffer: ColorBuffer, level: Int = 0): Unit
fun colorBuffer(name: String, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8): Unit
fun colorBuffer(format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8): Unit
fun colorBuffer(name: String, arrayTexture: ArrayTexture, layer: Int, level: Int = 0): Unit
fun cubemap(name: String, cubemap: Cubemap, side: CubemapSide, level: Int = 0): Unit
fun cubemap(cubemap: Cubemap, side: CubemapSide, level: Int = 0): Unit
fun depthBuffer(format: DepthFormat = DepthFormat.DEPTH24_STENCIL8): Unit
fun depthBuffer(depthBuffer: DepthBuffer): Unit
fun volumeTexture(name: String, volumeTexture: VolumeTexture, layer: Int, level: Int = 0): Unit
fun volumeTexture(volumeTexture: VolumeTexture, layer: Int, level: Int = 0): Unit
class RenderToken
interface SaturatableColor<T>
data class ScreenshotEvent
open class Screenshots : Extension
class Segment
Module Contents
Segment(start: Vector2, end: Vector2)
Segment(start: Vector2, c0: Vector2, end: Vector2)
Segment(start: Vector2, c0: Vector2, c1: Vector2, end: Vector2)
Segment(start: Vector2, control: Array<Vector2>, end: Vector2)
fun adaptivePositions(distanceTolerance: Double = 0.5): List<Vector2>
fun adaptivePositionsAndNormals(distanceTolerance: Double = 0.5): Pair<List<Vector2>, List<Vector2>>
val bounds: Rectangle
val clockwise: Boolean
val contour: ShapeContour
val control: Array<Vector2>
fun copy(start: Vector2 = this.start, control: Array<Vector2> = this.control, end: Vector2 = this.end): Segment
val cubic: Segment
fun derivative(t: Double): Vector2
fun direction(): Vector2
fun direction(t: Double): Vector2
operator fun div(scale: Double): Segment
val end: Vector2
fun equals(other: Any?): Boolean
fun equidistantPositions(pointCount: Int): List<Vector2>
fun extrema(): List<Double>
fun extremaPoints(): List<Vector2>
fun hashCode(): Int
fun isStraight(epsilon: Double = 0.01): Boolean
val length: Double
val linear: Boolean
fun lut(size: Int = 100): List<Vector2>
operator fun minus(right: Segment): Segment
fun nearest(point: Vector2): SegmentPoint
fun normal(ut: Double, polarity: YPolarity = YPolarity.CW_NEGATIVE_Y): Vector2
fun offset(distance: Double, stepSize: Double = 0.01, yPolarity: YPolarity = YPolarity.CW_NEGATIVE_Y): List<Segment>
fun on(point: Vector2, error: Double = 5.0): Double?
operator fun plus(right: Segment): Segment
fun pose(t: Double, polarity: YPolarity = YPolarity.CW_NEGATIVE_Y): Matrix44
fun position(ut: Double): Vector2
val quadratic: Segment
fun reduced(stepSize: Double = 0.01): List<Segment>
val reverse: Segment
fun scale(scale: Double, polarity: YPolarity): Segment
fun scale(polarity: YPolarity, scale: (Double) -> Double): Segment
val simple: Boolean
fun split(t: Double): Array<Segment>
val start: Vector2
fun sub(startT: Double, endT: Double): Segment
fun tForLength(length: Double): Double
operator fun times(scale: Double): Segment
fun toString(): String
fun transform(transform: Matrix44): Segment
val type: SegmentType
class Segment3D
Module Contents
Segment3D(start: Vector3, end: Vector3)
Segment3D(start: Vector3, c0: Vector3, end: Vector3)
Segment3D(start: Vector3, c0: Vector3, c1: Vector3, end: Vector3)
Segment3D(start: Vector3, control: Array<Vector3>, end: Vector3)
val control: Array<Vector3>
fun copy(start: Vector3 = this.start, control: Array<Vector3> = this.control, end: Vector3 = this.end): Segment3D
val cubic: Segment3D
fun derivative(t: Double): Vector3
fun direction(): Vector3
fun direction(t: Double): Vector3
val end: Vector3
fun equals(other: Any?): Boolean
fun extrema(): List<Double>
fun extremaPoints(): List<Vector3>
fun hashCode(): Int
val length: Double
val linear: Boolean
fun lut(size: Int = 100): List<Vector3>
fun on(point: Vector3, error: Double = 5.0): Double?
fun position(ut: Double): Vector3
fun project(point: Vector3): SegmentProjection3D
val reverse: Segment3D
fun sampleAdaptive(distanceTolerance: Double = 0.5): List<Vector3>
fun sampleAdaptiveNormals(distanceTolerance: Double = 0.5): Pair<List<Vector3>, List<Vector3>>
fun split(t: Double): Array<Segment3D>
val start: Vector3
fun sub(t0: Double, t1: Double): Segment3D
fun toString(): String
fun transform(transform: Matrix44): Segment3D
class SegmentIntersection
enum class SegmentJoin
data class SegmentPoint
class SegmentProjection3D
enum class SegmentType
class Session
class SessionStatistics
Module Contents
SessionStatistics(renderTargets: Int, colorBuffers: Int, depthBuffers: Int, bufferTextures: Int, indexBuffers: Int, vertexBuffers: Int, shaders: Int, cubemaps: Int, arrayTextures: Int, computeShaders: Int, atomicCounterBuffers: Int, arrayCubemaps: Int, shaderStorageBuffers: Int)
val arrayCubemaps: Int
val arrayTextures: Int
val atomicCounterBuffers: Int
val bufferTextures: Int
val colorBuffers: Int
val computeShaders: Int
val cubemaps: Int
val depthBuffers: Int
val indexBuffers: Int
val renderTargets: Int
val shaders: Int
val shaderStorageBuffers: Int
val vertexBuffers: Int
interface ShadableColor<T>
interface Shader : ShaderImageBindings
Module Contents
abstract fun begin(): Unit
abstract fun block(blockName: String, block: UniformBlock): Unit
abstract fun blockLayout(blockName: String): UniformBlockLayout?
abstract fun createBlock(blockName: String): UniformBlock?
fun createFromCode(vsCode: String, tcsCode: String? = null, tesCode: String? = null, gsCode: String? = null, fsCode: String, name: String, session: Session? = Session.active): Shader
fun createFromUrls(vsUrl: String, tcsUrl: String? = null, tesUrl: String? = null, gsUrl: String? = null, fsUrl: String, session: Session? = Session.active): Shader
abstract fun destroy(): Unit
abstract fun end(): Unit
abstract fun hasUniform(name: String): Boolean
abstract val session: Session?
abstract val types: Set<ShaderType>
abstract fun uniform(name: String, value: Matrix33): Unit
abstract fun uniform(name: String, value: Matrix44): Unit
abstract fun uniform(name: String, value: ColorRGBa): Unit
abstract fun uniform(name: String, value: Vector4): Unit
abstract fun uniform(name: String, value: Vector3): Unit
abstract fun uniform(name: String, value: Vector2): Unit
abstract fun uniform(name: String, value: IntVector4): Unit
abstract fun uniform(name: String, value: IntVector3): Unit
abstract fun uniform(name: String, value: IntVector2): Unit
abstract fun uniform(name: String, x: Float, y: Float, z: Float, w: Float): Unit
abstract fun uniform(name: String, x: Float, y: Float, z: Float): Unit
abstract fun uniform(name: String, x: Float, y: Float): Unit
abstract fun uniform(name: String, value: Double): Unit
abstract fun uniform(name: String, value: Float): Unit
abstract fun uniform(name: String, value: Int): Unit
abstract fun uniform(name: String, value: Boolean): Unit
abstract fun uniform(name: String, value: Array<Matrix44>): Unit
abstract fun uniform(name: String, value: Array<Vector4>): Unit
abstract fun uniform(name: String, value: Array<Vector3>): Unit
abstract fun uniform(name: String, value: Array<Vector2>): Unit
abstract fun uniform(name: String, value: Array<IntVector4>): Unit
abstract fun uniform(name: String, value: Array<IntVector3>): Unit
abstract fun uniform(name: String, value: Array<IntVector2>): Unit
abstract fun uniform(name: String, value: Array<ColorRGBa>): Unit
abstract fun uniform(name: String, value: Array<Double>): Unit
abstract fun uniform(name: String, value: FloatArray): Unit
abstract fun uniform(name: String, value: IntArray): Unit
interface ShaderImageBindings
interface ShaderStorageBuffer
data class ShaderStorageElement
class ShaderStorageFormat
enum class ShaderType
class ShaderWatcher
class ShaderWatcherBuilder
data class ShadeStructure
Module Contents
ShadeStructure(uniforms: String? = null, attributes: String? = null, buffers: String? = null, : String? = null, geometryTransform: String? = null, fragmentTransform: String? = null, vertexPreamble: String? = null, geometryPreamble: String? = null, fragmentPreamble: String? = null, outputs: String? = null, varyingOut: String? = null, varyingIn: String? = null, varyingBridge: String? = null, suppressDefaultOutput: Boolean = false)
var attributes: String?
var buffers: String?
var fragmentPreamble: String?
var fragmentTransform: String?
var geometryPreamble: String?
var geometryTransform: String?
var outputs: String?
var suppressDefaultOutput: Boolean
var uniforms: String?
var varyingBridge: String?
var varyingIn: String?
var varyingOut: String?
var vertexPreamble: String?
var vertexTransform: String?
open class ShadeStyle
Module Contents
ShadeStyle()
ShadeStyle(other: ShadeStyle)
var attributes: MutableList<VertexBuffer>
fun attributes(attributesBuffer: VertexBuffer): Unit
fun buffer(name: String, buffer: ShaderStorageBuffer): Unit
fun buffer(name: String, buffer: AtomicCounterBuffer): Unit
val buffers: MutableMap<String, String>
var bufferValues: MutableMap<String, Any>
var dirty: Boolean
var fragmentPreamble: String?
var fragmentTransform: String?
var geometryPreamble: String?
var geometryTransform: String?
fun output(name: String, output: ShadeStyleOutput): Unit
var outputs: ObservableHashmap<String, ShadeStyleOutput>
fun parameter(name: String, value: Cubemap): Unit
fun parameter(name: String, value: Boolean): Unit
fun parameter(name: String, value: Int): Unit
fun parameter(name: String, value: Matrix33): Unit
fun parameter(name: String, value: Matrix44): Unit
fun parameter(name: String, value: Array<Matrix44>): Unit
fun parameter(name: String, value: Array<Vector2>): Unit
fun parameter(name: String, value: Array<Vector3>): Unit
fun parameter(name: String, value: Array<Vector4>): Unit
fun parameter(name: String, value: Array<ColorRGBa>): Unit
fun parameter(name: String, value: Float): Unit
fun parameter(name: String, value: Double): Unit
fun parameter(name: String, value: Vector2): Unit
fun parameter(name: String, value: Vector3): Unit
fun parameter(name: String, value: Vector4): Unit
fun parameter(name: String, value: IntVector2): Unit
fun parameter(name: String, value: IntVector3): Unit
fun parameter(name: String, value: IntVector4): Unit
fun parameter(name: String, value: ColorRGBa): Unit
fun parameter(name: String, value: ColorBuffer): Unit
fun parameter(name: String, value: DepthBuffer): Unit
fun parameter(name: String, value: ArrayTexture): Unit
fun parameter(name: String, value: ArrayCubemap): Unit
fun parameter(name: String, value: BufferTexture): Unit
fun parameter(name: String, value: VolumeTexture): Unit
fun parameter(name: String, value: ImageBinding): Unit
inner class Parameter<R : Any> : ReadWriteProperty<ShadeStyle, R>
var parameters: ObservableHashmap<String, String>
var parameterValues: MutableMap<String, Any>
operator fun plus(other: ShadeStyle): ShadeStyle
var suppressDefaultOutput: Boolean
var vertexPreamble: String?
var vertexTransform: String?
class ShadeStyleFilter : Filter
abstract class ShadeStyleManager
data class ShadeStyleOutput
class Shape
class ShapeBuilder
data class ShapeContour
class ShapeNode : CompositionNode
data class ShapeNodeIntersection
data class ShapeNodeNearestContour
enum class ShapeTopology
class SineIn : Easer
class SineInOut : Easer
class SineOut : Easer
class SingleScreenshot : Screenshots
data class Spherical : LinearType<Spherical>
interface Splitter
enum class StencilOperation
class StencilStyle
enum class StencilTest
data class StrokeWeight : CompositionStrokeWeight
data class TextNode : CompositionNode
class TransformBuilder
enum class TransformMode
enum class TransformTarget
data class Triangle
enum class UnfocusBehaviour
interface UniformBlock
Module Contents
abstract val dirty: Boolean
abstract val layout: UniformBlockLayout
abstract fun uniform(name: String, value: Float): Unit
abstract fun uniform(name: String, value: Vector2): Unit
abstract fun uniform(name: String, value: Vector3): Unit
abstract fun uniform(name: String, value: Vector4): Unit
abstract fun uniform(name: String, value: ColorRGBa): Unit
abstract fun uniform(name: String, value: Matrix44): Unit
abstract fun uniform(name: String, value: Matrix55): Unit
abstract fun uniform(name: String, value: Array<Float>): Unit
abstract fun uniform(name: String, value: Array<Vector2>): Unit
abstract fun uniform(name: String, value: Array<Vector3>): Unit
abstract fun uniform(name: String, value: Array<Vector4>): Unit
abstract fun upload(): Unit
data class UniformBlockLayout
data class UniformDescription
enum class UniformType
class UserData<T : Any>
data class Vector2 : Serializable, LinearType<Vector2>
data class Vector3 : Serializable, LinearType<Vector3>
data class Vector4 : Serializable, LinearType<Vector4>
interface VertexBuffer
interface VertexBufferShadow
data class VertexElement
enum class VertexElementType
class VertexFormat
interface VolumeTexture
Module Contents
abstract fun bind(textureUnit: Int = 0): Unit
abstract fun copyTo(target: ColorBuffer, layer: Int, fromLevel: Int = 0, toLevel: Int = 0): Unit
fun create(width: Int, height: Int, depth: Int, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8, levels: Int = 1, session: Session? = Session.active): VolumeTexture
abstract val depth: Int
abstract fun destroy(): Unit
abstract fun fill(color: ColorRGBa): Unit
abstract fun filter(min: MinifyingFilter, mag: MagnifyingFilter): Unit
abstract val format: ColorFormat
abstract fun generateMipmaps(): Unit
abstract val height: Int
abstract val levels: Int
abstract fun read(layer: Int, target: ByteBuffer, targetFormat: ColorFormat = format, targetType: ColorType = type, level: Int = 0): Unit
abstract val session: Session?
abstract val type: ColorType
abstract val width: Int
abstract fun write(layer: Int, source: ByteBuffer, sourceFormat: ColorFormat = format, sourceType: ColorType = type, level: Int = 0): Unit
class VolumeTextureAttachment : ColorAttachment
class VolumeTextureImageBinding : ImageBinding
class VolumeTextureLayerImageBinding : ImageBinding
enum class Winding
class WindowEvent
enum class WindowEventType
sealed class WindowMultisample
class WindowsPlatformDriver : PlatformDriver
enum class WrapMode
class Writer
class WriteStyle
enum class YPolarity
package org.openrndr
package org.openrndr.animatable
Module Contents
open class Animatable
Module Contents
Animatable(target: Any)
Animatable()
Animatable(createAtTime: Long)
fun add(variable: String, target: Double, duration: Long): Unit
fun add(variable: String, target: Double, durationMillis: Long, easing: Easing): Unit
fun add(variable: String, target: Double, durationMillis: Long, easer: Easer): Unit
@JvmName("animateProp") fun KMutableProperty0<Double>.animate(target: Double, duration: Long, easing: Easing): Unit
fun animate(variable: String, target: Double, durationMillis: Long): Unit
fun animate(variable: String, target: Double, durationMillis: Long, easing: Easing): Unit
fun animate(variable: String, target: Double, durationMillis: Long, easer: Easer): Unit
fun animate(variable: KMutableProperty0<*>, target: Double, durationMillis: Long, easing: Easing = Easing.None): Unit
fun animationCount(): Int
fun array(variable: String, index: Int): String
fun cancel(): Unit
fun cancel(fields: Array<String>): Unit
fun cancelQueued(): Unit
fun clock(clock: Clock): Unit
fun clock(): Clock
fun complete(variable: String): Unit
fun complete(callback: (Animatable) -> Unit): Unit
fun complete(animatable: Animatable): Unit
fun complete(animatable: Animatable = this, callback: ((Animatable) -> Unit)? = null): Unit
fun delay(durationMillis: Long, durationNanos: Long = 0): Unit
fun duration(): Long
fun ease(easing: Easing): Unit
fun ease(easer: Easer): Unit
fun end(): Unit
fun hasAnimations(): Boolean
fun hasAnimations(vararg variables: String): Boolean
fun popTime(): Unit
fun pushTime(): Unit
@JvmOverloads fun updateAnimation(time: Long = clock.timeNanos): Unit
fun velocity(variable: String): Double
fun waitUntil(timeMillis: Long, timeNanos: Long = 0): Unit
interface Clock
class DefaultClock : Clock
package org.openrndr.animatable.easing
package org.openrndr.binpack
Module Contents
class CenteredBinarySplitter : Splitter
Module Contents
CenteredBinarySplitter(enclosement: IntRectangle, invert: Boolean = true, constraints: (node: PackNode, rectangle: IntRectangle) -> Boolean = { _, _ -> true }, xcon: (node: PackNode, rectangle: IntRectangle) -> Boolean = { _, _ -> true}, ycon: (node: PackNode, rectangle: IntRectangle) -> Boolean = { _, _ -> true})
val constraints: (node: PackNode, rectangle: IntRectangle) -> Boolean
val enclosement: IntRectangle
val invert: Boolean
fun split(node: PackNode, rectangle: IntRectangle): List<PackNode>
val xcon: (node: PackNode, rectangle: IntRectangle) -> Boolean
val ycon: (node: PackNode, rectangle: IntRectangle) -> Boolean
class CenterOrderer : Orderer
interface Clipper
class DefaultClipper : Clipper
class DefaultOrderer : Orderer
class DefaultSplitter : Splitter
class GreedySplitter : Splitter
class IntPacker
fun leafNodes(node: PackNode): List<PackNode>
class OptimizingOrderer : Orderer
interface Orderer
class PackNode
fun prune(node: PackNode): Unit
class RandomBinarySplitter : Splitter
class RandomOrderer : Orderer
interface Splitter
package org.openrndr.collections
package org.openrndr.color
Module Contents
interface AlgebraicColor<T : AlgebraicColor<T>> : LinearType<T>
data class ColorATVa
data class ColorHSLa : ConvertibleToColorRGBa, ShadableColor<ColorHSLa>, HueShiftableColor<ColorHSLa>, SaturatableColor<ColorHSLa>, AlgebraicColor<ColorHSLa>
data class ColorHSVa : ConvertibleToColorRGBa, ShadableColor<ColorHSVa>, HueShiftableColor<ColorHSVa>, SaturatableColor<ColorHSVa>, AlgebraicColor<ColorHSVa>
data class ColorLABa : ConvertibleToColorRGBa, OpacifiableColor<ColorLABa>, ShadableColor<ColorLABa>, AlgebraicColor<ColorLABa>
data class ColorLCHABa : ConvertibleToColorRGBa, ShadableColor<ColorLCHABa>, OpacifiableColor<ColorLCHABa>, HueShiftableColor<ColorLCHABa>, AlgebraicColor<ColorLCHABa>
data class ColorLCHUVa : ConvertibleToColorRGBa, ShadableColor<ColorLCHUVa>, OpacifiableColor<ColorLCHUVa>, HueShiftableColor<ColorLCHUVa>, AlgebraicColor<ColorLCHUVa>
data class ColorLSHABa
data class ColorLSHUVa
data class ColorLUVa : ConvertibleToColorRGBa, OpacifiableColor<ColorLUVa>, ShadableColor<ColorLUVa>, AlgebraicColor<ColorLUVa>
data class ColorRGBa : ConvertibleToColorRGBa, OpacifiableColor<ColorRGBa>, ShadableColor<ColorRGBa>, AlgebraicColor<ColorRGBa>
data class ColorXSLa : ConvertibleToColorRGBa, ShadableColor<ColorXSLa>, HueShiftableColor<ColorXSLa>, SaturatableColor<ColorXSLa>, OpacifiableColor<ColorXSLa>, AlgebraicColor<ColorXSLa>
data class ColorXSVa : ConvertibleToColorRGBa, ShadableColor<ColorXSVa>, HueShiftableColor<ColorXSVa>, SaturatableColor<ColorXSVa>, OpacifiableColor<ColorXSVa>, AlgebraicColor<ColorXSVa>
data class ColorXYZa : ConvertibleToColorRGBa, OpacifiableColor<ColorXYZa>, AlgebraicColor<ColorXYZa>
data class ColorYxya
interface ConvertibleToColorRGBa
fun findHue(id: Int): Hue?
fun hsl(h: Double, s: Double, l: Double): ColorHSLa
fun hsla(h: Double, s: Double, l: Double, a: Double): ColorHSLa
fun hsv(h: Double, s: Double, v: Double): ColorHSVa
fun hsva(h: Double, s: Double, v: Double, a: Double): ColorHSVa
data class Hue
val hues: List<Hue>
interface HueShiftableColor<T>
enum class Linearity
fun main(args: Array<String>): Unit
fun mix(left: ColorHSLa, right: ColorHSLa, x: Double): ColorHSLa
fun mix(left: ColorHSVa, right: ColorHSVa, x: Double): ColorHSVa
fun mix(left: ColorLCHABa, right: ColorLCHABa, x: Double): ColorLCHABa
fun mix(left: ColorLCHUVa, right: ColorLCHUVa, x: Double): ColorLCHUVa
fun mix(left: ColorRGBa, right: ColorRGBa, x: Double): ColorRGBa
fun mix(left: ColorXSLa, right: ColorXSLa, x: Double): ColorXSLa
fun mix(left: ColorXSVa, right: ColorXSVa, x: Double): ColorXSVa
fun mix(a: ColorYxya, b: ColorYxya, x: Double): ColorYxya
interface OpacifiableColor<T>
fun rgb(r: Double, g: Double = r, b: Double = r): ColorRGBa
fun rgb(hex: String): ColorRGBa
fun rgba(r: Double, g: Double, b: Double, a: Double): ColorRGBa
interface SaturatableColor<T>
interface ShadableColor<T>
package org.openrndr.dialogs
Module Contents
fun getDefaultPathForContext(programName: String = stackRootClassName(), contextID: String = "global"): String?
fun openFileDialog(programName: String = stackRootClassName(), contextID: String = "global", supportedExtensions: List<Pair<String, List<String>>>, function: (File) -> Unit): Unit
@JvmName("openFileDialogSimple") fun openFileDialog(programName: String = stackRootClassName(), contextID: String = "global", supportedExtensions: List<String>, function: (File) -> Unit): Unit
fun openFileDialog(programName: String = stackRootClassName(), contextID: String = "global", function: (File) -> Unit): Unit
fun openFilesDialog(programName: String = stackRootClassName(), contextID: String = "global", supportedExtensions: List<Pair<String, List<String>>>, function: (List<File>) -> Unit): Unit
@JvmName("openFilesDialogSimple") fun openFilesDialog(programName: String = stackRootClassName(), contextID: String = "global", supportedExtensions: List<String>, function: (List<File>) -> Unit): Unit
fun openFilesDialog(programName: String = stackRootClassName(), contextID: String = "global", function: (List<File>) -> Unit): Unit
fun openFolderDialog(programName: String = stackRootClassName(), contextID: String = "global", function: (File) -> Unit): Unit
fun saveFileDialog(programName: String = stackRootClassName(), contextID: String = "global", suggestedFilename: String? = null, supportedExtensions: List<Pair<String, List<String>>> = emptyList(), function: (File) -> Unit): Unit
@JvmName("saveFileDialogSimple") fun saveFileDialog(programName: String = stackRootClassName(), contextID: String = "global", suggestedFilename: String? = null, supportedExtensions: List<String>, function: (File) -> Unit): Unit
fun setDefaultPathForContext(programName: String = stackRootClassName(), contextID: String = "global", file: File): Unit
package org.openrndr.draw
Module Contents
interface ArrayCubemap
Module Contents
abstract fun bind(unit: Int): Unit
open val bounds: Rectangle
abstract fun copyTo(layer: Int, target: Cubemap, fromLevel: Int = 0, toLevel: Int = 0): Unit
abstract fun copyTo(layer: Int, target: ArrayCubemap, targetLayer: Int, fromLevel: Int = 0, toLevel: Int = 0): Unit
abstract fun destroy(): Unit
abstract var filterMag: MagnifyingFilter
abstract var filterMin: MinifyingFilter
abstract var flipV: Boolean
abstract val format: ColorFormat
abstract fun generateMipmaps(): Unit
abstract val layers: Int
abstract val levels: Int
abstract fun read(layer: Int, buffer: ByteBuffer, level: Int = 0): Unit
abstract val session: Session?
abstract val type: ColorType
abstract val width: Int
abstract fun write(side: CubemapSide, layer: Int, buffer: ByteBuffer, sourceFormat: ColorFormat = format, sourceType: ColorType = type, level: Int = 0): Unit
fun arrayCubemap(width: Int, layers: Int, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8, levels: Int = 1, session: Session = Session.active): ArrayCubemap
class ArrayCubemapAttachment : ColorAttachment
class ArrayCubemapImageBinding : ImageBinding
interface ArrayTexture
Module Contents
abstract fun bind(unit: Int): Unit
open val bounds: Rectangle
abstract fun copyTo(layer: Int, target: ColorBuffer, fromLevel: Int = 0, toLevel: Int = 0): Unit
abstract fun copyTo(layer: Int, target: ArrayTexture, targetLayer: Int, fromLevel: Int = 0, toLevel: Int = 0): Unit
abstract fun destroy(): Unit
abstract var filterMag: MagnifyingFilter
abstract var filterMin: MinifyingFilter
abstract var flipV: Boolean
abstract val format: ColorFormat
abstract fun generateMipmaps(): Unit
abstract val height: Int
abstract val layers: Int
abstract val levels: Int
abstract fun read(layer: Int, buffer: ByteBuffer, level: Int = 0): Unit
abstract val session: Session?
abstract val type: ColorType
abstract val width: Int
abstract var wrapU: WrapMode
abstract var wrapV: WrapMode
abstract fun write(layer: Int, buffer: ByteBuffer, sourceFormat: ColorFormat = format, sourceType: ColorType = type, level: Int = 0): Unit
fun arrayTexture(width: Int, height: Int, layers: Int, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8, levels: Int = 1, session: Session = Session.active): ArrayTexture
class ArrayTextureAttachment : ColorAttachment
class ArrayTextureImageBinding : ImageBinding
class ArrayTextureLayerImageBinding : ImageBinding
interface AtomicCounterBuffer
open class BatchBuilder
enum class BlendMode
sealed class BufferMultisample
interface BufferTexture
fun bufferTexture(elementCount: Int, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.FLOAT32, session: Session? = Session.active): BufferTexture
enum class BufferTextureFileFormat
class BufferTextureImageBinding : ImageBinding
interface BufferTextureShadow
interface BufferWriter
Module Contents
abstract fun copyBuffer(sourceBuffer: ByteBuffer, sourceOffset: Int, sourceSizeInBytes: Int): Unit
abstract var position: Int
abstract var positionElements: Int
abstract fun rewind(): Unit
open fun write(vararg v: Vector3): Unit
abstract fun write(v: Byte): Unit
abstract fun write(v: Short): Unit
abstract fun write(v: Vector3): Unit
abstract fun write(v: Vector2): Unit
abstract fun write(v: Vector4): Unit
abstract fun write(v: Int): Unit
abstract fun write(v: IntVector2): Unit
abstract fun write(v: IntVector3): Unit
abstract fun write(v: IntVector4): Unit
abstract fun write(v: Matrix33): Unit
abstract fun write(v: Matrix44): Unit
abstract fun write(v: Float): Unit
abstract fun write(x: Float, y: Float): Unit
abstract fun write(x: Float, y: Float, z: Float): Unit
abstract fun write(x: Float, y: Float, z: Float, w: Float): Unit
abstract fun write(v: ColorRGBa): Unit
abstract fun write(a: FloatArray, offset: Int = 0, size: Int = a.size): Unit
class ChannelMask
data class CharacterPair
class CircleBatch
fun Drawer.circleBatch(build: CircleBatchBuilder.() -> Unit): CircleBatch
class CircleBatchBuilder : BatchBuilder
val circleFormat: VertexFormat
fun codeFromStream(stream: InputStream): String
fun codeFromURL(url: URL): String
fun codeFromURL(url: String): String
sealed class ColorAttachment
interface ColorBuffer
Module Contents
abstract var anisotropy: Double
abstract fun bind(unit: Int): Unit
open val bounds: Rectangle
abstract val contentScale: Double
abstract fun copyTo(target: ColorBuffer, fromLevel: Int = 0, toLevel: Int = 0, sourceRectangle: IntRectangle = IntRectangle(
0,
0,
this.effectiveWidth / (1 shl fromLevel),
this.effectiveHeight / (1 shl fromLevel)
), targetRectangle: IntRectangle = IntRectangle(
0,
0,
sourceRectangle.width,
sourceRectangle.height
), filter: MagnifyingFilter = MagnifyingFilter.NEAREST): Unit
abstract fun copyTo(target: ArrayTexture, layer: Int, fromLevel: Int = 0, toLevel: Int = 0): Unit
open fun createEquivalent(width: Int = this.width, height: Int = this.height, contentScale: Double = this.contentScale, format: ColorFormat = this.format, type: ColorType = this.type, multisample: BufferMultisample = this.multisample, levels: Int = this.levels): ColorBuffer
open fun crop(sourceRectangle: IntRectangle): ColorBuffer
abstract fun destroy(): Unit
open val effectiveHeight: Int
open val effectiveWidth: Int
abstract fun fill(color: ColorRGBa): Unit
open fun filter(filterMin: MinifyingFilter, filterMag: MagnifyingFilter): Unit
abstract var filterMag: MagnifyingFilter
abstract var filterMin: MinifyingFilter
abstract var flipV: Boolean
abstract val format: ColorFormat
fun fromArray(bytes: ByteArray, offset: Int = 0, length: Int = bytes.size, session: Session? = Session.active): ColorBuffer
fun fromBuffer(bytes: ByteBuffer, session: Session? = Session.active): ColorBuffer
fun fromFile(file: File, session: Session? = Session.active): ColorBuffer
fun fromFile(filename: String, session: Session? = Session.active): ColorBuffer
fun fromStream(stream: InputStream, formatHint: String? = null, session: Session? = Session.active): ColorBuffer
fun fromUrl(url: String, session: Session? = Session.active): ColorBuffer
abstract fun generateMipmaps(): Unit
abstract val height: Int
open fun isEquivalentTo(other: ColorBuffer, ignoreWidth: Boolean = false, ignoreHeight: Boolean = false, ignoreContentScale: Boolean = false, ignoreFormat: Boolean = false, ignoreType: Boolean = false, ignoreMultisample: Boolean = false, ignoreLevels: Boolean = false): Boolean
abstract val levels: Int
abstract val multisample: BufferMultisample
abstract fun read(buffer: ByteBuffer, targetFormat: ColorFormat = format, targetType: ColorType = type, level: Int = 0): Unit
abstract fun saveToFile(file: File, imageFileFormat: ImageFileFormat = ImageFileFormat.guessFromExtension(file), async: Boolean = true): Unit
abstract val session: Session?
abstract val shadow: ColorBufferShadow
abstract fun toDataUrl(imageFileFormat: ImageFileFormat = ImageFileFormat.JPG): String
abstract val type: ColorType
abstract val width: Int
abstract var wrapU: WrapMode
abstract var wrapV: WrapMode
abstract fun write(buffer: ByteBuffer, sourceFormat: ColorFormat = format, sourceType: ColorType = type, level: Int = 0): Unit
fun colorBuffer(width: Int, height: Int, contentScale: Double = 1.0, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8, multisample: BufferMultisample = BufferMultisample.Disabled, levels: Int = 1, session: Session? = Session.active): ColorBuffer
class ColorBufferAttachment : ColorAttachment
class ColorBufferImageBinding : ImageBinding
data class ColorBufferProxy
interface ColorBufferShadow
Module Contents
abstract val buffer: ByteBuffer
abstract val colorBuffer: ColorBuffer
abstract fun destroy(): Unit
abstract fun download(): Unit
open operator fun get(x: Int, y: Int): ColorRGBa
abstract fun read(x: Int, y: Int): ColorRGBa
open operator fun set(x: Int, y: Int, c: ColorRGBa): Unit
abstract fun upload(): Unit
abstract fun write(x: Int, y: Int, r: Double, g: Double, b: Double, a: Double): Unit
open fun write(x: Int, y: Int, color: ColorRGBa): Unit
open fun write(x: Int, y: Int, r: Float, g: Float, b: Float, a: Float): Unit
abstract fun writer(): BufferWriter
enum class ColorFormat
enum class ColorSampling
enum class ColorType
interface ComputeShader : ShaderImageBindings
Module Contents
abstract fun buffer(name: String, vertexBuffer: VertexBuffer): Unit
abstract fun counters(bindingIndex: Int, counterBuffer: AtomicCounterBuffer): Unit
abstract fun destroy(): Unit
abstract fun execute(width: Int = 1, height: Int = 1, depth: Int = 1): Unit
fun fromCode(code: String): ComputeShader
fun fromFile(file: File): ComputeShader
abstract fun uniform(name: String, value: Matrix33): Unit
abstract fun uniform(name: String, value: Matrix44): Unit
abstract fun uniform(name: String, value: ColorRGBa): Unit
abstract fun uniform(name: String, value: Vector4): Unit
abstract fun uniform(name: String, value: Vector3): Unit
abstract fun uniform(name: String, value: Vector2): Unit
abstract fun uniform(name: String, x: Float, y: Float, z: Float, w: Float): Unit
abstract fun uniform(name: String, x: Float, y: Float, z: Float): Unit
abstract fun uniform(name: String, x: Float, y: Float): Unit
abstract fun uniform(name: String, value: Double): Unit
abstract fun uniform(name: String, value: Float): Unit
abstract fun uniform(name: String, value: Int): Unit
abstract fun uniform(name: String, value: Boolean): Unit
abstract fun uniform(name: String, value: Array<Vector4>): Unit
abstract fun uniform(name: String, value: Array<Vector3>): Unit
abstract fun uniform(name: String, value: Array<Vector2>): Unit
abstract fun uniform(name: String, value: FloatArray): Unit
fun constant(color: ColorRGBa, ignoreAlpha: Boolean = true): Matrix55
interface Cubemap
Module Contents
abstract fun bind(textureUnit: Int = 0): Unit
abstract fun copyTo(target: ArrayCubemap, layer: Int, fromLevel: Int = 0, toLevel: Int = 0): Unit
abstract fun copyTo(target: Cubemap, fromLevel: Int = 0, toLevel: Int = 0): Unit
abstract fun copyTo(target: ColorBuffer, fromSide: CubemapSide, fromLevel: Int = 0, toLevel: Int = 0): Unit
fun create(width: Int, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8, levels: Int = -1, session: Session? = Session.active): Cubemap
abstract fun destroy(): Unit
abstract fun filter(min: MinifyingFilter, mag: MagnifyingFilter): Unit
abstract val format: ColorFormat
fun fromFile(file: File, session: Session? = Session.active): Cubemap
fun fromFiles(filenames: List<File>, session: Session? = Session.active): Cubemap
fun fromUrl(url: String, session: Session? = Session.active): Cubemap
fun fromUrls(urls: List<String>, session: Session? = Session.active): Cubemap
abstract fun generateMipmaps(): Unit
abstract val levels: Int
abstract fun read(side: CubemapSide, target: ByteBuffer, targetFormat: ColorFormat = format, targetType: ColorType = type, level: Int = 0): Unit
abstract val session: Session?
abstract val type: ColorType
abstract val width: Int
abstract fun write(side: CubemapSide, source: ByteBuffer, sourceFormat: ColorFormat = format, sourceType: ColorType = type, level: Int = 0): Unit
fun cubemap(width: Int, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8, levels: Int = 1, session: Session? = Session.active): Cubemap
class CubemapAttachment : ColorAttachment
class CubemapImageBinding : ImageBinding
class CubemapLayerImageBinding : ImageBinding
enum class CubemapSide
enum class CullTestPass
val defaultFontmapCharacterSet: Set<Char>
interface DepthBuffer
fun depthBuffer(width: Int, height: Int, format: DepthFormat = DepthFormat.DEPTH24_STENCIL8, multisample: BufferMultisample): DepthBuffer
enum class DepthFormat
enum class DepthTestPass
data class DrawContext
class Drawer
Module Contents
Drawer(driver: Driver)
val bounds: Rectangle
fun circle(x: Double, y: Double, radius: Double): Unit
fun circle(position: Vector2, radius: Double): Unit
fun circle(circle: Circle): Unit
fun circles(positions: List<Vector2>, radius: Double): Unit
fun circles(positions: List<Vector2>, radii: List<Double>): Unit
fun circles(circles: List<Circle>): Unit
fun circles(batch: CircleBatch, count: Int = batch.size): Unit
fun circles(build: CircleBatchBuilder.() -> Unit): Unit
fun clear(r: Double, g: Double, b: Double, a: Double): Unit
fun clear(color: ColorRGBa): Unit
fun composition(composition: Composition): Unit
val context: DrawContext
fun contour(contour: ShapeContour): Unit
fun contours(contours: List<ShapeContour>): Unit
var cullTestPass: CullTestPass
fun defaults(): Unit
var depthTestPass: DepthTestPass
var depthWrite: Boolean
var drawStyle: DrawStyle
val driver: Driver
var fill: ColorRGBa?
var fontMap: FontMap?
var height: Int
fun image(colorBuffer: ColorBuffer, source: Rectangle, target: Rectangle): Unit
fun image(colorBuffer: ColorBuffer, x: Double, y: Double, width: Double = colorBuffer.width.toDouble(), height: Double = colorBuffer.height.toDouble()): Unit
fun image(colorBuffer: ColorBuffer, position: Vector2, width: Double = colorBuffer.width.toDouble(), height: Double = colorBuffer.height.toDouble()): Unit
fun image(colorBuffer: ColorBuffer): Unit
fun image(colorBuffer: ColorBuffer, rectangles: List<Pair<Rectangle, Rectangle>>): Unit
fun image(arrayTexture: ArrayTexture, layer: Int = 0, x: Double = 0.0, y: Double = 0.0, width: Double = arrayTexture.width.toDouble(), height: Double = arrayTexture.height.toDouble()): Unit
fun image(arrayTexture: ArrayTexture, layer: Int = 0, source: Rectangle, target: Rectangle): Unit
fun image(arrayTexture: ArrayTexture, layers: List<Int>, rectangles: List<Pair<Rectangle, Rectangle>>): Unit
var lineCap: LineCap
var lineJoin: LineJoin
fun lineLoop(points: List<Vector2>): Unit
@JvmName("lineLoop3d") fun lineLoop(points: List<Vector3>): Unit
fun lineLoops(loops: List<List<Vector2>>): Unit
@JvmName("lineLoops3d") fun lineLoops(loops: List<List<Vector3>>): Unit
fun lineLoops(loops: List<List<Vector2>>, weights: List<Double>): Unit
@JvmName("lineLoops3d)") fun lineLoops(loops: List<List<Vector3>>, weights: List<Double>): Unit
fun lineSegment(x0: Double, y0: Double, x1: Double, y1: Double): Unit
fun lineSegment(lineSegment: LineSegment): Unit
fun lineSegment(start: Vector2, end: Vector2): Unit
fun lineSegment(start: Vector3, end: Vector3): Unit
fun lineSegments(segments: List<Vector2>): Unit
fun lineSegments(segments: List<Vector2>, weights: List<Double>): Unit
@JvmName("lineSegments3d") fun lineSegments(segments: List<Vector3>): Unit
@JvmName("lineSegments3d") fun lineSegments(segments: List<Vector3>, weights: List<Double>): Unit
@JvmName("lineSegments3d") fun lineSegments(segments: List<Vector3>, weights: List<Double>, colors: List<ColorRGBa>): Unit
@JvmName("lineSegmentsFromLineSegmentList") fun lineSegments(segments: List<LineSegment>): Unit
fun lineStrip(points: List<Vector2>): Unit
@JvmName("lineStrip3d") fun lineStrip(points: List<Vector3>): Unit
fun lineStrips(strips: List<List<Vector2>>): Unit
@JvmName("lineStrips3d") fun lineStrips(strips: List<List<Vector3>>): Unit
fun lineStrips(strips: List<List<Vector2>>, weights: List<Double>): Unit
@JvmName("lineStrips3d") fun lineStrips(strips: List<List<Vector3>>, weights: List<Double>): Unit
@JvmName("lineStrips3d") fun lineStrips(strips: List<List<Vector3>>, weights: List<Double>, colors: List<ColorRGBa>): Unit
fun lookAt(from: Vector3, to: Vector3, up: Vector3 = Vector3.UNIT_Y, target: TransformTarget = TransformTarget.VIEW): Unit
var model: Matrix44
fun ortho(renderTarget: RenderTarget): Unit
fun ortho(): Unit
fun ortho(left: Double, right: Double, bottom: Double, top: Double, near: Double, far: Double): Unit
fun path(path: Path3D): Unit
fun perspective(fovY: Double, aspectRatio: Double, zNear: Double, zFar: Double): Unit
fun point(x: Double, y: Double, z: Double = 0.0): Unit
fun point(vector: Vector2): Unit
fun point(vector: Vector3): Unit
@JvmName("points2D") fun points(points: List<Vector2>): Unit
@JvmName("points3D") fun points(points: List<Vector3>): Unit
fun points(build: PointBatchBuilder.() -> Unit): Unit
fun points(batch: PointBatch, count: Int = batch.size): Unit
fun popModel(): Unit
fun popProjection(): Unit
fun popStyle(): Unit
fun popTransforms(): Unit
fun popView(): Unit
var projection: Matrix44
fun pushModel(): Matrix44
fun pushProjection(): Matrix44
fun pushStyle(): DrawStyle
fun pushTransforms(): Unit
fun pushView(): Matrix44
fun rectangle(rectangle: Rectangle): Unit
fun rectangle(x: Double, y: Double, width: Double, height: Double): Unit
fun rectangle(corner: Vector2, width: Double, height: Double): Unit
fun rectangles(positions: List<Vector2>, width: Double, height: Double): Unit
fun rectangles(positions: List<Vector2>, dimensions: List<Vector2>): Unit
fun rectangles(rectangles: List<Rectangle>): Unit
fun rectangles(batch: RectangleBatch, count: Int = batch.size): Unit
fun rectangles(build: RectangleBatchBuilder.() -> Unit): Unit
fun rotate(rotationInDegrees: Double, target: TransformTarget = TransformTarget.MODEL): Unit
fun rotate(axis: Vector3, rotationInDegrees: Double, target: TransformTarget = TransformTarget.MODEL): Unit
fun scale(s: Double, target: TransformTarget = TransformTarget.MODEL): Unit
fun scale(x: Double, y: Double, target: TransformTarget = TransformTarget.MODEL): Unit
fun scale(x: Double, y: Double, z: Double, target: TransformTarget = TransformTarget.MODEL): Unit
fun segment(segment: Segment): Unit
fun segment(segment: Segment3D): Unit
@JvmName("segments2d") fun segments(segments: List<Segment>): Unit
fun segments(segments: List<Segment3D>): Unit
fun segments(segments: List<Segment3D>, weights: List<Double>, colors: List<ColorRGBa>): Unit
var shadeStyle: ShadeStyle?
fun shape(shape: Shape): Unit
fun shapes(shapes: List<Shape>): Unit
fun size(width: Int, height: Int): Unit
var stroke: ColorRGBa?
var strokeWeight: Double
fun text(text: String, position: Vector2): Unit
fun text(text: String, x: Double = 0.0, y: Double = 0.0): Unit
fun texts(texts: List<String>, positions: List<Vector2>): Unit
fun transform(transform: TransformTarget): KMutableProperty0<Matrix44>
fun translate(t: Vector2, target: TransformTarget = TransformTarget.MODEL): Unit
fun translate(t: Vector3, target: TransformTarget = TransformTarget.MODEL): Unit
fun translate(x: Double, y: Double, target: TransformTarget = TransformTarget.MODEL): Unit
fun translate(x: Double, y: Double, z: Double, target: TransformTarget = TransformTarget.MODEL): Unit
fun vertexBuffer(vertexBuffer: VertexBuffer, primitive: DrawPrimitive, vertexOffset: Int = 0, vertexCount: Int = vertexBuffer.vertexCount): Unit
fun vertexBuffer(vertexBuffers: List<VertexBuffer>, primitive: DrawPrimitive, offset: Int = 0, vertexCount: Int = vertexBuffers[0].vertexCount): Unit
fun vertexBuffer(indexBuffer: IndexBuffer, vertexBuffers: List<VertexBuffer>, primitive: DrawPrimitive, offset: Int = 0, indexCount: Int = indexBuffer.indexCount): Unit
fun vertexBufferInstances(vertexBuffers: List<VertexBuffer>, instanceAttributes: List<VertexBuffer>, primitive: DrawPrimitive, instanceCount: Int, offset: Int = 0, vertexCount: Int = vertexBuffers[0].vertexCount): Unit
fun vertexBufferInstances(indexBuffer: IndexBuffer, vertexBuffers: List<VertexBuffer>, instanceAttributes: List<VertexBuffer>, primitive: DrawPrimitive, instanceCount: Int, offset: Int = 0, indexCount: Int = indexBuffer.indexCount): Unit
var view: Matrix44
var width: Int
fun withTarget(target: RenderTarget, action: Drawer.() -> Unit): Unit
enum class DrawPrimitive
enum class DrawQuality
data class DrawStyle
Module Contents
DrawStyle(clip: Rectangle? = null, fill: ColorRGBa? = ColorRGBa.WHITE, stroke: ColorRGBa? = ColorRGBa.BLACK, lineCap: LineCap = LineCap.BUTT, lineJoin: LineJoin = LineJoin.MITER, strokeWeight: Double = 1.0, smooth: Boolean = true, quality: DrawQuality = DrawQuality.QUALITY, depthTestPass: DepthTestPass = DepthTestPass.ALWAYS, depthWrite: Boolean = false, blendMode: BlendMode = BlendMode.OVER, cullTestPass: CullTestPass = CullTestPass.ALWAYS, channelWriteMask: ChannelMask = ChannelMask(red = true, green = true, blue = true, alpha = true), alphaToCoverage: Boolean = false, shadeStyle: ShadeStyle? = null, fontMap: FontMap? = null, kerning: KernMode = KernMode.METRIC, stencil: StencilStyle = StencilStyle(), frontStencil: StencilStyle = stencil, backStencil: StencilStyle = stencil, colorMatrix: Matrix55 = Matrix55.IDENTITY)
var alphaToCoverage: Boolean
fun applyToShader(shader: Shader): Unit
var backStencil: StencilStyle
var blendMode: BlendMode
var channelWriteMask: ChannelMask
var clip: Rectangle?
var colorMatrix: Matrix55
var cullTestPass: CullTestPass
var depthTestPass: DepthTestPass
var depthWrite: Boolean
var fill: ColorRGBa?
var fontMap: FontMap?
var frontStencil: StencilStyle
var kerning: KernMode
var lineCap: LineCap
var lineJoin: LineJoin
var quality: DrawQuality
var shadeStyle: ShadeStyle?
var smooth: Boolean
var stencil: StencilStyle
var stroke: ColorRGBa?
var strokeWeight: Double
val drawStyleFormat: VertexFormat
interface DrawThread
fun drawThread(): DrawThread
open class Filter
fun filterShaderFromCode(fragmentShaderCode: String, name: String): Shader
fun filterShaderFromUrl(url: String): Shader
fun filterWatcherFromUrl(url: String): ShaderWatcher
class FontImageMap : FontMap
Module Contents
FontImageMap(texture: ColorBuffer, map: Map<Char, IntRectangle>, glyphMetrics: Map<Char, GlyphMetrics>, size: Double, contentScale: Double, ascenderLength: Double, descenderLength: Double, height: Double, leading: Double, name: String)
val ascenderLength: Double
fun characterWidth(character: Char): Double
val contentScale: Double
val descenderLength: Double
fun fromFile(file: String, size: Double, characterSet: Set<Char> = defaultFontmapCharacterSet, contentScale: Double = 1.0): FontImageMap
fun fromUrl(fontUrl: String, size: Double, characterSet: Set<Char> = defaultFontmapCharacterSet, contentScale: Double = 1.0): FontImageMap
val glyphMetrics: Map<Char, GlyphMetrics>
val height: Double
fun kerning(left: Char, right: Char): Double
val kerningTable: MutableMap<CharacterPair, Double>
val leading: Double
val map: Map<Char, IntRectangle>
val name: String
val size: Double
val texture: ColorBuffer
data class FontImageMapDescriptor
abstract class FontMap
abstract class FontVectorMap : FontMap
fun glsl(source: String): String
class GlyphMetrics
fun grayscale(r: Double = 0.33, g: Double = 0.33, b: Double = 0.33): Matrix55
enum class ImageAccess
sealed class ImageBinding
fun BufferTexture.imageBinding(imageAccess: ImageAccess): BufferTextureImageBinding
fun ColorBuffer.imageBinding(level: Int = 0, imageAccess: ImageAccess): ColorBufferImageBinding
fun Cubemap.imageBinding(level: Int = 0, imageAccess: ImageAccess): CubemapImageBinding
fun ArrayTexture.imageBinding(level: Int = 0, imageAccess: ImageAccess): ArrayTextureImageBinding
fun VolumeTexture.imageBinding(level: Int = 0, imageAccess: ImageAccess): VolumeTextureImageBinding
fun ArrayCubemap.imageBinding(level: Int = 0, imageAccess: ImageAccess): ArrayCubemapImageBinding
enum class ImageFileFormat
interface IndexBuffer
fun indexBuffer(elementCount: Int, type: IndexType): IndexBuffer
enum class IndexType
val invert: Matrix55
fun Drawer.isolated(function: Drawer.() -> Unit): Unit
fun Drawer.isolatedWithTarget(target: RenderTarget, function: Drawer.() -> Unit): Unit
enum class KernMode
fun DrawThread.launch(context: CoroutineContext = this.dispatcher, start: CoroutineStart = CoroutineStart.DEFAULT, block: suspend CoroutineScope.() -> Unit): Job
class LayeredArrayCubemapAttachment : ColorAttachment
class LayeredArrayTextureAttachment : ColorAttachment
class LayeredCubemapAttachment : ColorAttachment
class LayeredVolumeTextureAttachment : ColorAttachment
enum class LineCap
enum class LineJoin
fun loadBufferTexture(fileOrUrl: String, formatHint: BufferTextureFileFormat? = BufferTextureFileFormat.ORB, session: Session? = Session.active): BufferTexture
fun loadBufferTexture(file: File, formatHint: BufferTextureFileFormat? = BufferTextureFileFormat.ORB, session: Session? = Session.active): BufferTexture
fun loadBufferTexture(url: URL, formatHint: BufferTextureFileFormat? = BufferTextureFileFormat.ORB, session: Session? = Session.active): BufferTexture
fun loadCubemap(fileOrUrl: String, session: Session? = Session.active): Cubemap
fun Program.loadFont(fileOrUrl: String, size: Double, characterSet: Set<Char> = defaultFontmapCharacterSet, contentScale: Double = this.drawer.context.contentScale): FontImageMap
fun loadFont(fileOrUrl: String, size: Double, characterSet: Set<Char> = defaultFontmapCharacterSet, contentScale: Double = 1.0): FontImageMap
fun loadImage(fileOrUrl: String, session: Session? = Session.active): ColorBuffer
fun loadImage(file: File, session: Session? = Session.active): ColorBuffer
fun loadImage(url: URL, session: Session? = Session.active): ColorBuffer
enum class MagnifyingFilter
enum class MinifyingFilter
class ObservableHashmap<K, V> : HashMap<K, V>
fun <T> persistent(builder: () -> T): T
class PointBatch
fun Drawer.pointBatch(build: PointBatchBuilder.() -> Unit): PointBatch
class PointBatchBuilder : BatchBuilder
val pointFormat: VertexFormat
interface ProgramRenderTarget : RenderTarget
class RectangleBatch
fun Drawer.rectangleBatch(build: RectangleBatchBuilder.() -> Unit): RectangleBatch
class RectangleBatchBuilder : BatchBuilder
val rectangleFormat: VertexFormat
interface RenderTarget
Module Contents
val active: RenderTarget
abstract fun attach(colorBuffer: ColorBuffer, level: Int = 0, name: String? = null): Unit
abstract fun attach(depthBuffer: DepthBuffer): Unit
abstract fun attach(arrayTexture: ArrayTexture, layer: Int, level: Int = 0, name: String? = null): Unit
abstract fun attach(arrayCubemap: ArrayCubemap, side: CubemapSide, layer: Int, level: Int = 0, name: String? = null): Unit
abstract fun attach(cubemap: Cubemap, side: CubemapSide, level: Int = 0, name: String? = null): Unit
abstract fun attach(volumeTexture: VolumeTexture, layer: Int, level: Int = 0, name: String? = null): Unit
abstract fun attachLayered(arrayTexture: ArrayTexture, level: Int = 0, name: String? = null): Unit
abstract fun attachLayered(arrayCubemap: ArrayCubemap, level: Int = 0, name: String? = null): Unit
abstract fun attachLayered(cubemap: Cubemap, level: Int = 0, name: String? = null): Unit
abstract fun attachLayered(volumeTexture: VolumeTexture, level: Int = 0, name: String? = null): Unit
abstract fun bind(): Unit
abstract fun blendMode(index: Int, blendMode: BlendMode): Unit
abstract fun clearColor(index: Int, color: ColorRGBa): Unit
abstract fun clearDepth(depth: Double = 1.0, stencil: Int = 0): Unit
open fun colorAttachmentByName(name: String): ColorAttachment?
open fun colorAttachmentIndexByName(name: String): Int?
abstract val colorAttachments: List<ColorAttachment>
abstract fun colorBuffer(index: Int): ColorBuffer
abstract val contentScale: Double
abstract val depthBuffer: DepthBuffer?
abstract fun destroy(): Unit
abstract fun detachColorAttachments(): Unit
abstract fun detachDepthBuffer(): Unit
open val effectiveHeight: Int
open val effectiveWidth: Int
abstract val hasColorAttachments: Boolean
abstract val hasDepthBuffer: Boolean
abstract val height: Int
abstract val multisample: BufferMultisample
open fun resolveTo(to: RenderTarget): Unit
abstract val session: Session?
abstract fun unbind(): Unit
abstract val width: Int
fun renderTarget(width: Int, height: Int, contentScale: Double = 1.0, multisample: BufferMultisample = BufferMultisample.Disabled, session: Session? = Session.active, builder: RenderTargetBuilder.() -> Unit): RenderTarget
class RenderTargetBuilder
Module Contents
RenderTargetBuilder(renderTarget: RenderTarget)
fun arrayCubemap(name: String, arrayCubemap: ArrayCubemap, side: CubemapSide, layer: Int, level: Int = 0): Unit
fun arrayCubemap(arrayCubemap: ArrayCubemap, side: CubemapSide, layer: Int, level: Int = 0): Unit
fun arrayTexture(arrayTexture: ArrayTexture, layer: Int, level: Int = 0): Unit
fun colorBuffer(colorBuffer: ColorBuffer, level: Int = 0): Unit
fun colorBuffer(name: String, colorBuffer: ColorBuffer, level: Int = 0): Unit
fun colorBuffer(name: String, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8): Unit
fun colorBuffer(format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8): Unit
fun colorBuffer(name: String, arrayTexture: ArrayTexture, layer: Int, level: Int = 0): Unit
fun cubemap(name: String, cubemap: Cubemap, side: CubemapSide, level: Int = 0): Unit
fun cubemap(cubemap: Cubemap, side: CubemapSide, level: Int = 0): Unit
fun depthBuffer(format: DepthFormat = DepthFormat.DEPTH24_STENCIL8): Unit
fun depthBuffer(depthBuffer: DepthBuffer): Unit
fun volumeTexture(name: String, volumeTexture: VolumeTexture, layer: Int, level: Int = 0): Unit
fun volumeTexture(volumeTexture: VolumeTexture, layer: Int, level: Int = 0): Unit
class Session
fun session(code: () -> Unit): Unit
class SessionStatistics
Module Contents
SessionStatistics(renderTargets: Int, colorBuffers: Int, depthBuffers: Int, bufferTextures: Int, indexBuffers: Int, vertexBuffers: Int, shaders: Int, cubemaps: Int, arrayTextures: Int, computeShaders: Int, atomicCounterBuffers: Int, arrayCubemaps: Int, shaderStorageBuffers: Int)
val arrayCubemaps: Int
val arrayTextures: Int
val atomicCounterBuffers: Int
val bufferTextures: Int
val colorBuffers: Int
val computeShaders: Int
val cubemaps: Int
val depthBuffers: Int
val indexBuffers: Int
val renderTargets: Int
val shaders: Int
val shaderStorageBuffers: Int
val vertexBuffers: Int
interface Shader : ShaderImageBindings
Module Contents
abstract fun begin(): Unit
abstract fun block(blockName: String, block: UniformBlock): Unit
abstract fun blockLayout(blockName: String): UniformBlockLayout?
abstract fun createBlock(blockName: String): UniformBlock?
fun createFromCode(vsCode: String, tcsCode: String? = null, tesCode: String? = null, gsCode: String? = null, fsCode: String, name: String, session: Session? = Session.active): Shader
fun createFromUrls(vsUrl: String, tcsUrl: String? = null, tesUrl: String? = null, gsUrl: String? = null, fsUrl: String, session: Session? = Session.active): Shader
abstract fun destroy(): Unit
abstract fun end(): Unit
abstract fun hasUniform(name: String): Boolean
abstract val session: Session?
abstract val types: Set<ShaderType>
abstract fun uniform(name: String, value: Matrix33): Unit
abstract fun uniform(name: String, value: Matrix44): Unit
abstract fun uniform(name: String, value: ColorRGBa): Unit
abstract fun uniform(name: String, value: Vector4): Unit
abstract fun uniform(name: String, value: Vector3): Unit
abstract fun uniform(name: String, value: Vector2): Unit
abstract fun uniform(name: String, value: IntVector4): Unit
abstract fun uniform(name: String, value: IntVector3): Unit
abstract fun uniform(name: String, value: IntVector2): Unit
abstract fun uniform(name: String, x: Float, y: Float, z: Float, w: Float): Unit
abstract fun uniform(name: String, x: Float, y: Float, z: Float): Unit
abstract fun uniform(name: String, x: Float, y: Float): Unit
abstract fun uniform(name: String, value: Double): Unit
abstract fun uniform(name: String, value: Float): Unit
abstract fun uniform(name: String, value: Int): Unit
abstract fun uniform(name: String, value: Boolean): Unit
abstract fun uniform(name: String, value: Array<Matrix44>): Unit
abstract fun uniform(name: String, value: Array<Vector4>): Unit
abstract fun uniform(name: String, value: Array<Vector3>): Unit
abstract fun uniform(name: String, value: Array<Vector2>): Unit
abstract fun uniform(name: String, value: Array<IntVector4>): Unit
abstract fun uniform(name: String, value: Array<IntVector3>): Unit
abstract fun uniform(name: String, value: Array<IntVector2>): Unit
abstract fun uniform(name: String, value: Array<ColorRGBa>): Unit
abstract fun uniform(name: String, value: Array<Double>): Unit
abstract fun uniform(name: String, value: FloatArray): Unit
abstract fun uniform(name: String, value: IntArray): Unit
interface ShaderImageBindings
interface ShaderStorageBuffer
fun shaderStorageBuffer(format: ShaderStorageFormat): ShaderStorageBuffer
data class ShaderStorageElement
class ShaderStorageFormat
fun shaderStorageFormat(builder: ShaderStorageFormat.() -> Unit): ShaderStorageFormat
enum class ShaderType
class ShaderWatcher
fun shaderWatcher(init: ShaderWatcherBuilder.() -> Unit): ShaderWatcher
class ShaderWatcherBuilder
data class ShadeStructure
Module Contents
ShadeStructure(uniforms: String? = null, attributes: String? = null, buffers: String? = null, : String? = null, geometryTransform: String? = null, fragmentTransform: String? = null, vertexPreamble: String? = null, geometryPreamble: String? = null, fragmentPreamble: String? = null, outputs: String? = null, varyingOut: String? = null, varyingIn: String? = null, varyingBridge: String? = null, suppressDefaultOutput: Boolean = false)
var attributes: String?
var buffers: String?
var fragmentPreamble: String?
var fragmentTransform: String?
var geometryPreamble: String?
var geometryTransform: String?
var outputs: String?
var suppressDefaultOutput: Boolean
var uniforms: String?
var varyingBridge: String?
var varyingIn: String?
var varyingOut: String?
var vertexPreamble: String?
var vertexTransform: String?
open class ShadeStyle
Module Contents
ShadeStyle()
ShadeStyle(other: ShadeStyle)
var attributes: MutableList<VertexBuffer>
fun attributes(attributesBuffer: VertexBuffer): Unit
fun buffer(name: String, buffer: ShaderStorageBuffer): Unit
fun buffer(name: String, buffer: AtomicCounterBuffer): Unit
val buffers: MutableMap<String, String>
var bufferValues: MutableMap<String, Any>
var dirty: Boolean
var fragmentPreamble: String?
var fragmentTransform: String?
var geometryPreamble: String?
var geometryTransform: String?
fun output(name: String, output: ShadeStyleOutput): Unit
var outputs: ObservableHashmap<String, ShadeStyleOutput>
fun parameter(name: String, value: Cubemap): Unit
fun parameter(name: String, value: Boolean): Unit
fun parameter(name: String, value: Int): Unit
fun parameter(name: String, value: Matrix33): Unit
fun parameter(name: String, value: Matrix44): Unit
fun parameter(name: String, value: Array<Matrix44>): Unit
fun parameter(name: String, value: Array<Vector2>): Unit
fun parameter(name: String, value: Array<Vector3>): Unit
fun parameter(name: String, value: Array<Vector4>): Unit
fun parameter(name: String, value: Array<ColorRGBa>): Unit
fun parameter(name: String, value: Float): Unit
fun parameter(name: String, value: Double): Unit
fun parameter(name: String, value: Vector2): Unit
fun parameter(name: String, value: Vector3): Unit
fun parameter(name: String, value: Vector4): Unit
fun parameter(name: String, value: IntVector2): Unit
fun parameter(name: String, value: IntVector3): Unit
fun parameter(name: String, value: IntVector4): Unit
fun parameter(name: String, value: ColorRGBa): Unit
fun parameter(name: String, value: ColorBuffer): Unit
fun parameter(name: String, value: DepthBuffer): Unit
fun parameter(name: String, value: ArrayTexture): Unit
fun parameter(name: String, value: ArrayCubemap): Unit
fun parameter(name: String, value: BufferTexture): Unit
fun parameter(name: String, value: VolumeTexture): Unit
fun parameter(name: String, value: ImageBinding): Unit
inner class Parameter<R : Any> : ReadWriteProperty<ShadeStyle, R>
var parameters: ObservableHashmap<String, String>
var parameterValues: MutableMap<String, Any>
operator fun plus(other: ShadeStyle): ShadeStyle
var suppressDefaultOutput: Boolean
var vertexPreamble: String?
var vertexTransform: String?
fun shadeStyle(builder: ShadeStyle.() -> Unit): ShadeStyle
class ShadeStyleFilter : Filter
abstract class ShadeStyleManager
data class ShadeStyleOutput
enum class StencilOperation
class StencilStyle
enum class StencilTest
fun tint(color: ColorRGBa): Matrix55
enum class TransformTarget
interface UniformBlock
Module Contents
abstract val dirty: Boolean
abstract val layout: UniformBlockLayout
abstract fun uniform(name: String, value: Float): Unit
abstract fun uniform(name: String, value: Vector2): Unit
abstract fun uniform(name: String, value: Vector3): Unit
abstract fun uniform(name: String, value: Vector4): Unit
abstract fun uniform(name: String, value: ColorRGBa): Unit
abstract fun uniform(name: String, value: Matrix44): Unit
abstract fun uniform(name: String, value: Matrix55): Unit
abstract fun uniform(name: String, value: Array<Float>): Unit
abstract fun uniform(name: String, value: Array<Vector2>): Unit
abstract fun uniform(name: String, value: Array<Vector3>): Unit
abstract fun uniform(name: String, value: Array<Vector4>): Unit
abstract fun upload(): Unit
data class UniformBlockLayout
data class UniformDescription
enum class UniformType
interface VertexBuffer
fun vertexBuffer(vertexFormat: VertexFormat, vertexCount: Int, session: Session? = Session.active): VertexBuffer
interface VertexBufferShadow
data class VertexElement
enum class VertexElementType
class VertexFormat
fun vertexFormat(builder: VertexFormat.() -> Unit): VertexFormat
interface VolumeTexture
Module Contents
abstract fun bind(textureUnit: Int = 0): Unit
abstract fun copyTo(target: ColorBuffer, layer: Int, fromLevel: Int = 0, toLevel: Int = 0): Unit
fun create(width: Int, height: Int, depth: Int, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8, levels: Int = 1, session: Session? = Session.active): VolumeTexture
abstract val depth: Int
abstract fun destroy(): Unit
abstract fun fill(color: ColorRGBa): Unit
abstract fun filter(min: MinifyingFilter, mag: MagnifyingFilter): Unit
abstract val format: ColorFormat
abstract fun generateMipmaps(): Unit
abstract val height: Int
abstract val levels: Int
abstract fun read(layer: Int, target: ByteBuffer, targetFormat: ColorFormat = format, targetType: ColorType = type, level: Int = 0): Unit
abstract val session: Session?
abstract val type: ColorType
abstract val width: Int
abstract fun write(layer: Int, source: ByteBuffer, sourceFormat: ColorFormat = format, sourceType: ColorType = type, level: Int = 0): Unit
fun volumeTexture(width: Int, height: Int, depth: Int, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8, levels: Int = 1, session: Session? = Session.active): VolumeTexture
class VolumeTextureAttachment : ColorAttachment
class VolumeTextureImageBinding : ImageBinding
class VolumeTextureLayerImageBinding : ImageBinding
enum class WrapMode
fun BufferWriter.write(drawStyle: DrawStyle): Unit
package org.openrndr.events
package org.openrndr.exceptions
package org.openrndr.extensions
package org.openrndr.filter.color
package org.openrndr.math
Module Contents
fun bezier(x0: Double, c0: Double, x1: Double, t: Double): Double
fun bezier(x0: Vector2, c0: Vector2, x1: Vector2, t: Double): Vector2
fun bezier(x0: Vector3, c0: Vector3, x1: Vector3, t: Double): Vector3
fun bezier(x0: Double, c0: Double, c1: Double, x1: Double, t: Double): Double
fun bezier(x0: Vector2, c0: Vector2, c1: Vector2, x1: Vector2, t: Double): Vector2
fun bezier(x0: Vector3, c0: Vector3, c1: Vector3, x1: Vector3, t: Double): Vector3
fun <T : LinearType<T>> bezier(x0: T, c0: T, x1: T, t: Double): T
fun <T : LinearType<T>> bezier(x0: T, c0: T, c1: T, x1: T, t: Double): T
class CatmullRom2
class CatmullRom3
class CatmullRomChain1
class CatmullRomChain2
class CatmullRomChain3
class CatmulRom1
fun chaikinSmooth(polyline: List<Vector2>, iterations: Int = 1): List<Vector2>
fun clamp(value: Double, min: Double, max: Double): Double
fun clamp(value: Int, min: Int, max: Int): Int
fun Vector2.clamp(min: Vector2, max: Vector2): Vector2
fun Vector3.clamp(min: Vector3, max: Vector3): Vector3
fun Vector4.clamp(min: Vector4, max: Vector4): Vector4
fun IntVector2.clamp(min: IntVector2, max: IntVector2): IntVector2
fun IntVector3.clamp(min: IntVector3, max: IntVector3): IntVector3
fun IntVector4.clamp(min: IntVector4, max: IntVector4): IntVector4
fun derivative(x0: Double, c0: Double, x1: Double, t: Double): Double
fun derivative(x0: Vector2, c0: Vector2, x1: Vector2, t: Double): Vector2
fun derivative(x0: Vector3, c0: Vector3, x1: Vector3, t: Double): Vector3
fun derivative(p0: Vector3, p1: Vector3, p2: Vector3, p3: Vector3, t: Double): Vector3
fun derivative(p0: Vector2, p1: Vector2, p2: Vector2, p3: Vector2, t: Double): Vector2
fun dot(q1: Quaternion, q2: Quaternion): Double
data class IntVector2 : Serializable
data class IntVector3 : Serializable
data class IntVector4 : Serializable
kotlin.Double
kotlin.Float
kotlin.Int
kotlin.Long
class LinearRange<T : LinearType<T>>
fun linearstep(edge0: Double, edge1: Double, x: Double): Double
interface LinearType<T : LinearType<T>>
fun map(beforeLeft: Double, beforeRight: Double, afterLeft: Double, afterRight: Double, value: Double, clamp: Boolean = false): Double
fun Vector2.map(beforeLeft: Vector2, beforeRight: Vector2, afterLeft: Vector2, afterRight: Vector2, clamp: Boolean = false): Vector2
fun Vector3.map(beforeLeft: Vector3, beforeRight: Vector3, afterLeft: Vector3, afterRight: Vector3, clamp: Boolean = false): Vector3
fun Vector4.map(beforeLeft: Vector4, beforeRight: Vector4, afterLeft: Vector4, afterRight: Vector4, clamp: Boolean = false): Vector4
data class Matrix33 : LinearType<Matrix33>
Module Contents
Matrix33(c0r0: Double = 0.0, c1r0: Double = 0.0, c2r0: Double = 0.0, c0r1: Double = 0.0, c1r1: Double = 0.0, c2r1: Double = 0.0, c0r2: Double = 0.0, c1r2: Double = 0.0, c2r2: Double = 0.0)
val c0r0: Double
val c0r1: Double
val c0r2: Double
val c1r0: Double
val c1r1: Double
val c1r2: Double
val c2r0: Double
val c2r1: Double
val c2r2: Double
val determinant: Double
operator fun div(s: Double): Matrix33
fun fromColumnVectors(c0: Vector3, c1: Vector3, c2: Vector3): Matrix33
operator fun get(index: Int): Vector3
val IDENTITY: Matrix33
val inversed: Matrix33
val matrix44: Matrix44
operator fun minus(o: Matrix33): Matrix33
operator fun plus(o: Matrix33): Matrix33
operator fun times(v: Vector3): Vector3
operator fun times(s: Double): Matrix33
operator fun times(mat: Matrix33): Matrix33
fun toString(): String
val trace: Double
val transposed: Matrix33
val ZERO: Matrix33
data class Matrix44 : Serializable, LinearType<Matrix44>
Module Contents
Matrix44(c0r0: Double = 0.0, c1r0: Double = 0.0, c2r0: Double = 0.0, c3r0: Double = 0.0, c0r1: Double = 0.0, c1r1: Double = 0.0, c2r1: Double = 0.0, c3r1: Double = 0.0, c0r2: Double = 0.0, c1r2: Double = 0.0, c2r2: Double = 0.0, c3r2: Double = 0.0, c0r3: Double = 0.0, c1r3: Double = 0.0, c2r3: Double = 0.0, c3r3: Double = 0.0)
val c0r0: Double
val c0r1: Double
val c0r2: Double
val c0r3: Double
val c1r0: Double
val c1r1: Double
val c1r2: Double
val c1r3: Double
val c2r0: Double
val c2r1: Double
val c2r2: Double
val c2r3: Double
val c3r0: Double
val c3r1: Double
val c3r2: Double
val c3r3: Double
val determinant: Double
operator fun div(s: Double): Matrix44
fun fromColumnVectors(c0: Vector4, c1: Vector4, c2: Vector4, c3: Vector4): Matrix44
fun fromDoubleArray(a: DoubleArray): Matrix44
operator fun get(index: Int): Vector4
val IDENTITY: Matrix44
val inversed: Matrix44
val matrix33: Matrix33
operator fun minus(o: Matrix44): Matrix44
operator fun plus(o: Matrix44): Matrix44
operator fun times(v: Vector4): Vector4
operator fun times(s: Double): Matrix44
operator fun times(mat: Matrix44): Matrix44
fun toDoubleArray(): DoubleArray
fun toString(): String
val trace: Double
val transposed: Matrix44
val ZERO: Matrix44
data class Matrix55
Module Contents
Matrix55(c0r0: Double = 0.0, c1r0: Double = 0.0, c2r0: Double = 0.0, c3r0: Double = 0.0, c4r0: Double = 0.0, c0r1: Double = 0.0, c1r1: Double = 0.0, c2r1: Double = 0.0, c3r1: Double = 0.0, c4r1: Double = 0.0, c0r2: Double = 0.0, c1r2: Double = 0.0, c2r2: Double = 0.0, c3r2: Double = 0.0, c4r2: Double = 0.0, c0r3: Double = 0.0, c1r3: Double = 0.0, c2r3: Double = 0.0, c3r3: Double = 0.0, c4r3: Double = 0.0, c0r4: Double = 0.0, c1r4: Double = 0.0, c2r4: Double = 0.0, c3r4: Double = 0.0, c4r4: Double = 0.0)
val c0r0: Double
val c0r1: Double
val c0r2: Double
val c0r3: Double
val c0r4: Double
val c1r0: Double
val c1r1: Double
val c1r2: Double
val c1r3: Double
val c1r4: Double
val c2r0: Double
val c2r1: Double
val c2r2: Double
val c2r3: Double
val c2r4: Double
val c3r0: Double
val c3r1: Double
val c3r2: Double
val c3r3: Double
val c3r4: Double
val c4r0: Double
val c4r1: Double
val c4r2: Double
val c4r3: Double
val c4r4: Double
val floatArray: FloatArray
val IDENTITY: Matrix55
operator fun plus(mat: Matrix55): Matrix55
operator fun times(mat: Matrix55): Matrix55
operator fun times(s: Double): Matrix55
val ZERO: Matrix55
fun max(a: Vector2, b: Vector2): Vector2
fun max(a: Vector3, b: Vector3): Vector3
fun max(a: Vector4, b: Vector4): Vector4
fun min(a: Vector2, b: Vector2): Vector2
fun min(a: Vector3, b: Vector3): Vector3
fun min(a: Vector4, b: Vector4): Vector4
fun mix(left: Double, right: Double, x: Double): Double
fun mix(a: Vector2, b: Vector2, mix: Double): Vector2
fun mix(a: Vector3, b: Vector3, mix: Double): Vector3
fun mix(a: Vector4, b: Vector4, mix: Double): Vector4
fun mixAngle(leftAngle: Double, rightAngle: Double, x: Double): Double
fun mod(a: Double, b: Double): Double
fun mod(a: Int, b: Int): Int
fun mod(a: Float, b: Float): Float
fun mod(a: Long, b: Long): Long
fun Vector2.mod(b: Vector2): Vector2
fun Vector3.mod(b: Vector3): Vector3
fun Vector4.mod(b: Vector4): Vector4
fun IntVector2.mod(b: IntVector2): IntVector2
fun IntVector3.mod(b: IntVector3): IntVector3
fun IntVector4.mod(b: IntVector4): IntVector4
fun normal(x0: Vector2, c0: Vector2, x1: Vector2, t: Double): Vector2
fun normalizationFactor(a: Double, b: Double, c: Double, d: Double): Double
fun normalizationFactor(a: Double, b: Double, c: Double): Double
fun normalizationFactor(a: Double, b: Double): Double
data class Polar : LinearType<Polar>
data class Quaternion : Serializable
Module Contents
Quaternion(x: Double, y: Double, z: Double, w: Double)
fun fromAngles(pitch: Double, roll: Double, yaw: Double): Quaternion
fun fromAnglesRadian(pitch: Double, roll: Double, yaw: Double): Quaternion
fun fromAxes(x: Vector3, y: Vector3, z: Vector3): Quaternion
fun fromLookAt(from: Vector3, to: Vector3, up: Vector3 = Vector3.UNIT_Y): Quaternion
fun fromMatrix(m: Matrix33): Quaternion
val IDENTITY: Quaternion
val inversed: Quaternion
val length: Double
val matrix: Matrix33
val negated: Quaternion
val norm: Double
val normalized: Quaternion
operator fun times(q: Quaternion): Quaternion
operator fun times(vec: Vector3): Vector3
val w: Double
val x: Double
val y: Double
val z: Double
val ZERO: Quaternion
fun roots(p: List<Double>): List<Double>
fun safeDerivative(p0: Vector2, c0: Vector2, p1: Vector2, t: Double): Vector2
fun safeDerivative(p0: Vector2, p1: Vector2, p2: Vector2, p3: Vector2, t: Double): Vector2
fun saturate(x: Double): Double
fun Vector2.saturate(): Vector2
fun Vector3.saturate(): Vector3
fun Vector4.saturate(): Vector4
fun slerp(q1: Quaternion, q2: Quaternion, x: Double): Quaternion
fun smootherstep(edge0: Double, edge1: Double, x: Double): Double
fun smoothstep(edge0: Double, edge1: Double, x: Double): Double
fun Vector2.smoothstep(edge0: Vector2, edge1: Vector2): Vector2
fun Vector3.smoothstep(edge0: Vector3, edge1: Vector3): Vector3
fun Vector4.smoothstep(edge0: Vector4, edge1: Vector4): Vector4
fun smoothstepIn(edge0: Double, edge1: Double, x: Double): Double
fun solveCubic(a: Double, b: Double, c: Double, d: Double, acc: DoubleArray): Int
fun solveCubic(a: Double, b: Double, c: Double, d: Double): DoubleArray
fun solveLinear(a: Double, b: Double, acc: DoubleArray): Int
fun solveLinear(a: Double, b: Double): DoubleArray
fun solveQuadratic(a: Double, b: Double, c: Double, acc: DoubleArray): Int
fun solveQuadratic(a: Double, b: Double, c: Double): DoubleArray
data class Spherical : LinearType<Spherical>
data class Vector2 : Serializable, LinearType<Vector2>
data class Vector3 : Serializable, LinearType<Vector3>
data class Vector4 : Serializable, LinearType<Vector4>
enum class YPolarity
package org.openrndr.math.transforms
Module Contents
fun buildTransform(baseTransform: Matrix44 = Matrix44.IDENTITY, builder: TransformBuilder.() -> Unit): Matrix44
fun frustum(left: Double, right: Double, bottom: Double, top: Double, zNear: Double, zFar: Double): Matrix44
kotlin.reflect.KMutableProperty0
fun lookAt(eye: Vector3, target: Vector3, up: Vector3 = Vector3.UNIT_Y): Matrix44
fun normalMatrix(view: Matrix44): Matrix44
fun ortho(xMag: Double, yMag: Double, zNear: Double, zFar: Double): Matrix44
fun ortho(left: Double, right: Double, bottom: Double, top: Double, zNear: Double, zFar: Double): Matrix44
fun perspective(fovY: Double, aspectRatio: Double, zNear: Double, zFar: Double): Matrix44
fun perspective(fovY: Double, aspectRatio: Double, zNear: Double): Matrix44
fun perspective(fovY: Double, aspectRatio: Double, zNear: Double, zFar: Double, xOffset: Double, yOffset: Double): Matrix44
fun perspectiveHorizontal(fovY: Double, aspectRatio: Double, zNear: Double, zFar: Double, xOffset: Double, yOffset: Double): Matrix44
fun project(point: Vector3, projection: Matrix44, view: Matrix44, width: Int, height: Int): Vector3
fun Matrix44.Companion.rotate(axis: Vector3, angle: Double): Matrix44
fun Matrix44.Companion.rotateX(angle: Double): Matrix44
fun Matrix44.Companion.rotateY(angle: Double): Matrix44
fun Matrix44.Companion.rotateZ(angle: Double): Matrix44
fun Matrix44.Companion.scale(scaleFactor: Vector3): Matrix44
fun Matrix44.Companion.scale(x: Double, y: Double, z: Double): Matrix44
fun transform(baseTransform: Matrix44 = Matrix44.IDENTITY, builder: TransformBuilder.() -> Unit): Matrix44
class TransformBuilder
fun Matrix44.Companion.translate(translation: Vector3): Matrix44
fun Matrix44.Companion.translate(x: Double, y: Double, z: Double): Matrix44
fun unproject(point: Vector3, projection: Matrix44, view: Matrix44, width: Int, height: Int): Vector3
package org.openrndr.platform
package org.openrndr.shape
Module Contents
data class Circle
enum class ClipMode
enum class ClipOp
data class Color : CompositionColor
class Composition
sealed class CompositionColor
class CompositionDrawer
Module Contents
CompositionDrawer(documentBounds: Rectangle = DefaultCompositionBounds, composition: Composition? = null, cursor: GroupNode? = composition?.root as? GroupNode)
fun circle(x: Double, y: Double, radius: Double, closed: Boolean = true, insert: Boolean = true): ShapeNode?
fun circle(position: Vector2, radius: Double, closed: Boolean = true, insert: Boolean = true): ShapeNode?
fun circle(circle: Circle, closed: Boolean = true, insert: Boolean = true): ShapeNode?
fun circles(circles: List<Circle>, insert: Boolean = true): List<ShapeNode?>
fun circles(positions: List<Vector2>, radius: Double, insert: Boolean = true): List<ShapeNode?>
fun circles(positions: List<Vector2>, radii: List<Double>, insert: Boolean = true): List<ShapeNode?>
var clipMode: ClipMode
val composition: Composition
fun contour(contour: ShapeContour, insert: Boolean = true): ShapeNode?
fun contours(contours: List<ShapeContour>, insert: Boolean = true): List<ShapeNode?>
var cursor: GroupNode
fun difference(shape: Shape, searchFrom: CompositionNode = composition.root as GroupNode): Shape
fun distances(point: Vector2, searchFrom: CompositionNode = composition.root as GroupNode): List<ShapeNodeNearestContour>
fun CompositionNode.distances(point: Vector2): List<ShapeNodeNearestContour>
fun CompositionNode.duplicate(insert: Boolean = true): CompositionNode
fun ellipse(x: Double, y: Double, xRadius: Double, yRadius: Double, rotationInDegrees: Double = 0.0, closed: Boolean = true, insert: Boolean = true): ShapeNode?
fun ellipse(center: Vector2, xRadius: Double, yRadius: Double, rotationInDegrees: Double, closed: Boolean = true, insert: Boolean = true): ShapeNode?
var fill: ColorRGBa?
fun group(insert: Boolean = true, id: String? = null, builder: CompositionDrawer.() -> Unit): GroupNode
fun image(image: ColorBuffer, x: Double = 0.0, y: Double = 0.0, insert: Boolean = true): ImageNode
fun intersections(contour: ShapeContour, searchFrom: CompositionNode = composition.root as GroupNode, mergeThreshold: Double = 0.5): List<ShapeNodeIntersection>
fun CompositionNode.intersections(contour: ShapeContour, mergeThreshold: Double = 0.5): List<ShapeNodeIntersection>
fun intersections(shape: Shape, searchFrom: CompositionNode = composition.root as GroupNode, mergeThreshold: Double = 0.5): List<ShapeNodeIntersection>
fun CompositionNode.intersections(shape: Shape, mergeThreshold: Double = 0.5): List<ShapeNodeIntersection>
fun isolated(draw: CompositionDrawer.() -> Unit): Unit
fun lineLoop(points: List<Vector2>, insert: Boolean = true): ShapeNode?
fun lineSegment(startX: Double, startY: Double, endX: Double, endY: Double, insert: Boolean = true): ShapeNode?
fun lineSegment(start: Vector2, end: Vector2, insert: Boolean = true): ShapeNode?
fun lineSegment(lineSegment: LineSegment, insert: Boolean = true): ShapeNode?
fun lineSegments(lineSegments: List<LineSegment>, insert: Boolean = true): List<ShapeNode?>
fun lineStrip(points: List<Vector2>, insert: Boolean = true): ShapeNode?
var mask: Shape?
var model: Matrix44
fun nearest(point: Vector2, searchFrom: CompositionNode = composition.root as GroupNode): ShapeNodeNearestContour?
fun CompositionNode.nearest(point: Vector2): ShapeNodeNearestContour?
fun popModel(): Unit
fun popStyle(): Unit
fun pushModel(): Unit
fun pushStyle(): Unit
fun rectangle(rectangle: Rectangle, closed: Boolean = true, insert: Boolean = true): ShapeNode?
fun rectangle(x: Double, y: Double, width: Double, height: Double, closed: Boolean = true, insert: Boolean = true): ShapeNode?
fun rectangles(rectangles: List<Rectangle>, insert: Boolean = true): List<ShapeNode?>
fun rectangles(positions: List<Vector2>, width: Double, height: Double, insert: Boolean = true): List<ShapeNode?>
fun rectangles(positions: List<Vector2>, dimensions: List<Vector2>, insert: Boolean): List<ShapeNode?>
val root: GroupNode
fun rotate(rotationInDegrees: Double): Unit
fun CompositionNode.rotate(angleInDegrees: Double, pivot: Vector2 = Vector2.ZERO): Unit
fun scale(s: Double): Unit
fun scale(x: Double, y: Double): Unit
fun CompositionNode.scale(scale: Double, pivot: Vector2 = Vector2.ZERO): Unit
fun shape(shape: Shape, insert: Boolean = true): ShapeNode?
fun shapes(shapes: List<Shape>, insert: Boolean = true): List<ShapeNode?>
var stroke: ColorRGBa?
var strokeWeight: Double
fun text(text: String, position: Vector2, insert: Boolean = true): TextNode
fun textOnContour(text: String, contour: ShapeContour, insert: Boolean = true): TextNode
fun texts(text: List<String>, positions: List<Vector2>): List<TextNode>
fun CompositionNode.transform(builder: TransformBuilder.() -> Unit): Unit
var transformMode: TransformMode
fun translate(x: Double, y: Double): Unit
fun translate(t: Vector2): Unit
fun CompositionNode.translate(x: Double, y: Double, z: Double = 0.0): Unit
fun GroupNode.with(builder: CompositionDrawer.() -> Unit): GroupNode
sealed class CompositionNode
sealed class CompositionShadeStyle
sealed class CompositionStrokeWeight
fun compound(f: CompoundBuilder.() -> List<Shape>): List<Shape>
class CompoundBuilder
fun contour(f: ContourBuilder.() -> Unit): ShapeContour
class ContourBuilder
Module Contents
ContourBuilder(multipleContours: Boolean)
var anchor: Vector2
fun arcTo(crx: Double, cry: Double, angle: Double, largeArcFlag: Boolean, sweepFlag: Boolean, tx: Double, ty: Double): Unit
fun arcTo(crx: Double, cry: Double, angle: Double, largeArcFlag: Boolean, sweepFlag: Boolean, end: Vector2): Unit
fun circularArcTo(through: Vector2, end: Vector2): Unit
fun close(): Unit
fun continueTo(end: Vector2, tangentScale: Double = 1.0): Unit
fun continueTo(x: Double, y: Double, tangentScale: Double = 1.0): Unit
fun continueTo(control: Vector2, end: Vector2, tangentScale: Double = 1.0): Unit
fun continueTo(cx: Double, cy: Double, x: Double, y: Double, tangentScale: Double = 1.0): Unit
var cursor: Vector2
fun curveTo(control: Vector2, position: Vector2): Unit
fun curveTo(cx: Double, cy: Double, x: Double, y: Double): Unit
fun curveTo(control0: Vector2, control1: Vector2, position: Vector2): Unit
fun curveTo(c0x: Double, c0y: Double, c1x: Double, c1y: Double, x: Double, y: Double): Unit
val lastSegment: Segment?
fun lineTo(position: Vector2): Unit
fun lineTo(x: Double, y: Double): Unit
fun moveOrCurveTo(control: Vector2, position: Vector2): Unit
fun moveOrCurveTo(cx: Double, cy: Double, x: Double, y: Double): Unit
fun moveOrCurveTo(control0: Vector2, control1: Vector2, position: Vector2): Unit
fun moveOrCurveTo(c0x: Double, c0y: Double, c1x: Double, c1y: Double, x: Double, y: Double): Unit
fun moveOrLineTo(position: Vector2): Unit
fun moveOrLineTo(x: Double, y: Double): Unit
fun moveTo(position: Vector2): Unit
fun moveTo(x: Double, y: Double): Unit
val result: List<ShapeContour>
fun reverse(): Unit
fun segment(segment: Segment): Unit
val segments: MutableList<Segment>
fun undo(): Segment?
data class ContourIntersection
data class ContourPoint
fun contours(f: ContourBuilder.() -> Unit): List<ShapeContour>
data class CShadeStyle : CompositionShadeStyle
val DefaultCompositionBounds: Rectangle
fun difference(from: ShapeContour, with: ShapeContour): Shape
fun difference(from: Shape, with: ShapeContour): Shape
fun difference(from: ShapeContour, with: Shape): Shape
fun difference(from: Shape, with: Shape): Shape
fun difference(from: List<Shape>, subtract: ShapeContour): List<Shape>
fun difference(from: List<Shape>, subtract: Shape): List<Shape>
fun difference(from: List<Shape>, subtract: List<Shape>): List<Shape>
@JvmName("differenceIterative") fun difference(from: List<Shape>, subtract: List<List<Shape>>): List<Shape>
fun Composition.draw(drawFunction: CompositionDrawer.() -> Unit): Unit
fun drawComposition(documentBounds: Rectangle = DefaultCompositionBounds, composition: Composition? = null, cursor: GroupNode? = composition?.root as? GroupNode, drawFunction: CompositionDrawer.() -> Unit): Composition
data class Ellipse
enum class FillRule
fun CompositionNode.findAll(filter: (CompositionNode) -> Boolean): List<CompositionNode>
fun CompositionNode.findGroups(): List<GroupNode>
fun CompositionNode.findImages(): List<ImageNode>
fun CompositionNode.findShapes(): List<ShapeNode>
fun CompositionNode.findTerminals(filter: (CompositionNode) -> Boolean): List<CompositionNode>
open class GroupNode : CompositionNode
class GroupNodeStop : GroupNode
class ImageNode : CompositionNode
class IndexedTriangulation<T>
object InheritColor : CompositionColor
object InheritShadeStyle : CompositionShadeStyle
object InheritStrokeWeight : CompositionStrokeWeight
fun intersection(a: LineSegment, b: LineSegment, eps: Double = 0.0): Vector2
fun intersection(a0: Vector2, a1: Vector2, b0: Vector2, b1: Vector2, eps: Double = 0.0): Vector2
fun intersection(from: ShapeContour, with: ShapeContour): Shape
fun intersection(from: Shape, with: ShapeContour): Shape
fun intersection(from: ShapeContour, with: Shape): Shape
fun intersection(from: Shape, with: Shape): Shape
fun intersection(from: List<Shape>, with: ShapeContour): List<Shape>
fun intersection(from: List<Shape>, with: Shape): List<Shape>
fun intersection(from: List<Shape>, with: List<Shape>): List<Shape>
@JvmName("intersectionIterative") fun intersection(from: List<Shape>, with: List<List<Shape>>): List<Shape>
fun intersections(a: Segment, b: Segment): List<SegmentIntersection>
fun intersections(a: ShapeContour, b: ShapeContour): List<ContourIntersection>
fun intersects(a: Rectangle, b: Rectangle): Boolean
data class IntRectangle
kotlin.collections.List
kotlin.reflect.KMutableProperty0
data class LineSegment
data class LineSegment3D
data class OrientedEllipse
data class OrientedRectangle
Module Contents
OrientedRectangle(x: Double, y: Double, width: Double, height: Double, rotation: Double)
OrientedRectangle(corner: Vector2, width: Double, height: Double, rotation: Double)
val area: Double
val center: Vector2
val contour: ShapeContour
val corner: Vector2
val dimensions: Vector2
fun fromCenter(center: Vector2, width: Double, height: Double): Rectangle
val height: Double
fun heightScaledTo(fitHeight: Double): Rectangle
fun moved(offset: Vector2): Rectangle
fun position(u: Double, v: Double): Vector2
val rotation: Double
fun scaled(scale: Double, scaleY: Double = scale): Rectangle
val shape: Shape
val width: Double
fun widthScaledTo(fitWidth: Double): Rectangle
val x: Double
val y: Double
class Path3D
fun path3D(f: Path3DBuilder.() -> Unit): Path3D
class Path3DBuilder
Module Contents
Path3DBuilder()
var anchor: Vector3
fun close(): Unit
fun continueTo(end: Vector3, tangentScale: Double = 1.0): Unit
fun continueTo(x: Double, y: Double, z: Double, tangentScale: Double = 1.0): Unit
fun continueTo(control: Vector3, end: Vector3, tangentScale: Double = 1.0): Unit
fun continueTo(cx: Double, cy: Double, cz: Double, x: Double, y: Double, z: Double, tangentScale: Double = 1.0): Unit
var cursor: Vector3
fun curveTo(control: Vector3, position: Vector3): Unit
fun curveTo(cx: Double, cy: Double, cz: Double, x: Double, y: Double, z: Double): Unit
fun curveTo(control0: Vector3, control1: Vector3, position: Vector3): Unit
fun curveTo(c0x: Double, c0y: Double, c0z: Double, c1x: Double, c1y: Double, c1z: Double, x: Double, y: Double, z: Double): Unit
fun lineTo(position: Vector3): Unit
fun lineTo(x: Double, y: Double, z: Double): Unit
fun moveOrCurveTo(control: Vector3, position: Vector3): Unit
fun moveOrCurveTo(cx: Double, cy: Double, cz: Double, x: Double, y: Double, z: Double): Unit
fun moveOrCurveTo(control0: Vector3, control1: Vector3, position: Vector3): Unit
fun moveOrCurveTo(c0x: Double, c0y: Double, c0z: Double, c1x: Double, c1y: Double, c1z: Double, x: Double, y: Double, z: Double): Unit
fun moveOrLineTo(position: Vector3): Unit
fun moveOrLineTo(x: Double, y: Double, z: Double): Unit
fun moveTo(position: Vector3): Unit
fun moveTo(x: Double, y: Double, z: Double): Unit
fun reverse(): Unit
val segments: MutableList<Segment3D>
class PathProjection3D
data class Rectangle
Module Contents
Rectangle(x: Double, y: Double, width: Double, height: Double = width)
Rectangle(corner: Vector2, width: Double, height: Double = width)
val area: Double
val center: Vector2
operator fun contains(point: Vector2): Boolean
val contour: ShapeContour
val corner: Vector2
val dimensions: Vector2
operator fun div(scale: Double): Rectangle
fun fromCenter(center: Vector2, width: Double, height: Double = width): Rectangle
val height: Double
fun heightScaledTo(fitHeight: Double): Rectangle
operator fun minus(right: Rectangle): Rectangle
fun moved(offset: Vector2): Rectangle
fun offsetEdges(offset: Double, offsetY: Double = offset): Rectangle
operator fun plus(right: Rectangle): Rectangle
fun position(u: Double, v: Double): Vector2
fun scaled(scale: Double, scaleY: Double = scale): Rectangle
val shape: Shape
fun sub(u0: Double, v0: Double, u1: Double, v1: Double): Rectangle
operator fun times(scale: Double): Rectangle
val width: Double
fun widthScaledTo(fitWidth: Double): Rectangle
val x: Double
val y: Double
fun rectangleBounds(rectangles: List<Rectangle>): Rectangle
fun CompositionNode.remove(): Unit
fun sampleEquidistant(segments: List<Vector2>, count: Int): List<Vector2>
@JvmName("sampleEquidistant3D") fun sampleEquidistant(pieces: List<Vector3>, count: Int): List<Vector3>
class Segment
Module Contents
Segment(start: Vector2, end: Vector2)
Segment(start: Vector2, c0: Vector2, end: Vector2)
Segment(start: Vector2, c0: Vector2, c1: Vector2, end: Vector2)
Segment(start: Vector2, control: Array<Vector2>, end: Vector2)
fun adaptivePositions(distanceTolerance: Double = 0.5): List<Vector2>
fun adaptivePositionsAndNormals(distanceTolerance: Double = 0.5): Pair<List<Vector2>, List<Vector2>>
val bounds: Rectangle
val clockwise: Boolean
val contour: ShapeContour
val control: Array<Vector2>
fun copy(start: Vector2 = this.start, control: Array<Vector2> = this.control, end: Vector2 = this.end): Segment
val cubic: Segment
fun derivative(t: Double): Vector2
fun direction(): Vector2
fun direction(t: Double): Vector2
operator fun div(scale: Double): Segment
val end: Vector2
fun equals(other: Any?): Boolean
fun equidistantPositions(pointCount: Int): List<Vector2>
fun extrema(): List<Double>
fun extremaPoints(): List<Vector2>
fun hashCode(): Int
fun isStraight(epsilon: Double = 0.01): Boolean
val length: Double
val linear: Boolean
fun lut(size: Int = 100): List<Vector2>
operator fun minus(right: Segment): Segment
fun nearest(point: Vector2): SegmentPoint
fun normal(ut: Double, polarity: YPolarity = YPolarity.CW_NEGATIVE_Y): Vector2
fun offset(distance: Double, stepSize: Double = 0.01, yPolarity: YPolarity = YPolarity.CW_NEGATIVE_Y): List<Segment>
fun on(point: Vector2, error: Double = 5.0): Double?
operator fun plus(right: Segment): Segment
fun pose(t: Double, polarity: YPolarity = YPolarity.CW_NEGATIVE_Y): Matrix44
fun position(ut: Double): Vector2
val quadratic: Segment
fun reduced(stepSize: Double = 0.01): List<Segment>
val reverse: Segment
fun scale(scale: Double, polarity: YPolarity): Segment
fun scale(polarity: YPolarity, scale: (Double) -> Double): Segment
val simple: Boolean
fun split(t: Double): Array<Segment>
val start: Vector2
fun sub(startT: Double, endT: Double): Segment
fun tForLength(length: Double): Double
operator fun times(scale: Double): Segment
fun toString(): String
fun transform(transform: Matrix44): Segment
val type: SegmentType
class Segment3D
Module Contents
Segment3D(start: Vector3, end: Vector3)
Segment3D(start: Vector3, c0: Vector3, end: Vector3)
Segment3D(start: Vector3, c0: Vector3, c1: Vector3, end: Vector3)
Segment3D(start: Vector3, control: Array<Vector3>, end: Vector3)
val control: Array<Vector3>
fun copy(start: Vector3 = this.start, control: Array<Vector3> = this.control, end: Vector3 = this.end): Segment3D
val cubic: Segment3D
fun derivative(t: Double): Vector3
fun direction(): Vector3
fun direction(t: Double): Vector3
val end: Vector3
fun equals(other: Any?): Boolean
fun extrema(): List<Double>
fun extremaPoints(): List<Vector3>
fun hashCode(): Int
val length: Double
val linear: Boolean
fun lut(size: Int = 100): List<Vector3>
fun on(point: Vector3, error: Double = 5.0): Double?
fun position(ut: Double): Vector3
fun project(point: Vector3): SegmentProjection3D
val reverse: Segment3D
fun sampleAdaptive(distanceTolerance: Double = 0.5): List<Vector3>
fun sampleAdaptiveNormals(distanceTolerance: Double = 0.5): Pair<List<Vector3>, List<Vector3>>
fun split(t: Double): Array<Segment3D>
val start: Vector3
fun sub(t0: Double, t1: Double): Segment3D
fun toString(): String
fun transform(transform: Matrix44): Segment3D
class SegmentIntersection
enum class SegmentJoin
data class SegmentPoint
class SegmentProjection3D
enum class SegmentType
class Shape
fun shape(f: ShapeBuilder.() -> Unit): Shape
class ShapeBuilder
data class ShapeContour
class ShapeNode : CompositionNode
data class ShapeNodeIntersection
data class ShapeNodeNearestContour
enum class ShapeTopology
fun simplify(points: List<Vector2>, epsilon: Double): List<Vector2>
fun split(shape: Shape, line: LineSegment): Pair<Shape, Shape>
data class StrokeWeight : CompositionStrokeWeight
data class TextNode : CompositionNode
fun CatmullRomChain2.toContour(): ShapeContour
fun CatmullRomChain3.toPath3D(): Path3D
fun CatmullRom3.toSegment(): Segment3D
fun CatmullRom2.toSegment(): Segment
enum class TransformMode
data class Triangle
fun triangulate(shape: Shape, distanceTolerance: Double = 0.5, fillRule: FillRule = FillRule.NONZERO_WINDING): List<Vector2>
fun union(from: ShapeContour, add: ShapeContour): Shape
fun union(from: Shape, add: ShapeContour): Shape
fun union(from: Shape, add: Shape): Shape
fun union(from: List<Shape>, add: ShapeContour): List<Shape>
fun union(from: List<Shape>, add: Shape): List<Shape>
fun union(from: List<Shape>, add: List<Shape>): List<Shape>
@JvmName("unionIterative") fun union(from: List<Shape>, add: List<List<Shape>>): List<Shape>
class UserData<T : Any>
fun vector2Bounds(points: List<Vector2>): Rectangle
fun CompositionNode.visitAll(visitor: CompositionNode.() -> Unit): Unit
enum class Winding
package org.openrndr.svg
package org.openrndr.text
package org.openrndr.utils